Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Achievement Archive

Weitere Verwandte Inhalte

Achievement Archive

  1. 1. Achievement Archive 2015 TECHNICAL & BUSSINESS ADDED-VALUES ABDULRAHMAN EMAD CEQUENS | [Company address]
  2. 2. Table of Contents Business Achievements ................................................................................................................................2 Documentations Index..................................................................................................................................3 Emails Assembly............................................................................................................................................4 Model Binding Feature with ASP.Net 4.5 Web Forms ..........................................................................4 Technical Enhancements .....................................................................................................................5 TPL Dataflow & Asynchrony with Reporting Service ............................................................................6 New Development Theme ....................................................................................................................7 Software Quality ...................................................................................................................................8 String manipulation ...............................................................................................................................8 Quotes.........................................................................................................................................................10
  3. 3. Business Achievements (Participated on) Module / Project Date USSD POC (Push) April 2014 Test Account (R1) April 2014 Sender Id Management (R1) May 2014 Bulk Policies Update (R1) May 2014 Optimization (R1) - Engine (Cache Listener) & RegEx - Administration  Account Rules  General Rules - Reporting  Short Term  Historical Jun-Nov 2014 Release 1 Stabilization - Master Account Management - Sub-Account Management - User Logs Report Sep – Dec 2014 Access Rights (R2) - Administration Dec 2014 – Jan 2015 Traffic Analysis Reports (R2) - Message Categorization Jan– Feb 2015 Release 2 Stabilization - Bulk Policies Update (Enhancement) - Account Settings Feb 2015
  4. 4. Documentations Index Documentation Links Proposed Date Keys New Ideas / Projects Notification Tracking Recovery System File Feb 2014 Monitoring Gateway Live Control File Nov 2014 Based on monitoring feedback Architect Web Portals Architect File Jun 2014 EF Solution Architect (.Net) File Jul 2014 SOA, REST API Universal Data Access Layer File Feb 2015 EF, Web API Business Modules (Vertical Add-Values) USSD POC as a Demo File Mar 2014 Push mode is visualized with monitoring Optimization - Architect (Initial) - Cache Listener - Regular Expressions File File File Jun 2014 Oct 2014 Aug 2014 with monitoring V1.4 Access Rights / Security Module File Jan 2015 Flow, ERD Traffic Analysis / MES Module File Jan 2015 Design Benchmarking Cequens Technologies File May 2014 EF, MVC, .Net4.5.2, AngularJS String Manipulation Email May 2014 Data Access Benchmarking (ADO.Net 2008 vs EF 2014) File Sep 2014 Performance enhancement Complied vs Interpreted Languages File Feb 2015 Technical Enhancements (Horizontal Add-Values) Software Design (Course) File Jun 2014 Software Quality Email Oct 2014 Peer Review Check List File ASP.Net 4.5 Web Forms (Model Binding Feature) Email Oct 2014 New Development Theme Email Dec 2014 TPL Dataflow with Cequens Reporting Service Email, File Dec 2014 Technical Enhancements Summery Email Dec 2014 Cequens.DAL, Cequens.Framework.UI, Cequens.BL.*
  5. 5. Emails Assembly Model Binding Feature with ASP.Net 4.5 Web Forms Oct 2014 Dears Now Microsoft brings the Model Binding Concept to asp.net classic but per control not per whole View as they did with WPF,MVC. Please refer to the articles bellow. It is an amazing feature save time and effort and exist science 2012. We could use this methodology with those controls : Gridview, DetailsView, FormView, Listview, Repeater, DorpdownList,.. This Feature is well compatible with Entity Framework (IQueryable) Advantages: 1- Moving the data binding (Object Properties) to UI, and let the View Engine / Binding Engine take this responsibility specially with Details View, Form View, Repeater 2- In the retrieval method you could inject many parameter from Control’s selected values , Query String parameters, View State keys, Sessions keys, Cookies values,… 3- Save many line of code, there is no many logic for binding and rebinding result set, 4- At update case the engine will transmit to the code behind (controller) a filled strongly typed Entity, you don’t need to access the UI elements to build an entity. 5- There will be some kind of separation between UI and Code Another thing, There is a Helper Class contains many Technical Logic like Reflection, TryCatch and Business UI Logic like BindListControl, ClearInputs, BindUserNames,.. Use and Add to them To Build Cequens Framework and avoid code redundancy. Thanks. Main Articles: 1- http://blogs.msdn.com/b/webdev/archive/2013/03/28/tutorial-series-on-model-binding-with-asp- net-web-forms.aspx 2- http://www.asp.net/web-forms/tutorials/data-access/model-binding/retrieving-data 6- http://www.dotnetcurry.com/showarticle.aspx?ID=772 7- http://mitchelsellers.com/blogs/2013/04/22/aspnet-web-forms-model-binding-%E2%80%93-my- favorite-aspnet-45-feature.aspx 3- http://blog.pluralsight.com/asp-net-4-5-web-forms-features-model-binding 4- http://www.geekytidbits.com/asp-net-web-forms-model-binding/ 8- http://www.bluelemoncode.com/post/2013/03/22/Super-cool-Model-Binding-functionality-in- aspnet-45.aspx 9- http://sravi-kiran.blogspot.com/2012/09/master-detail-view-using-aspnet-45.html 5- http://www.asp.net/web-forms/tutorials/data-access/model-binding/updating-deleting-and- creating-data 6- http://weblogs.asp.net/dwahlin/asp-net-4-5-web-forms-features-model-binding 7- http://www.codeguru.com/csharp/.net/net_asp/controls/using-model-binding-in-asp.net-data- controls.htm With QueryString: using-query-string-values-to-retrieve-data
  6. 6. Update Data: update-data using-model-binding Examples (Source Code): http://code.msdn.microsoft.com/Getting-Started-with-221c01f5?cdn_id=2013-12-16-001 http://code.msdn.microsoft.com/Model-Binding-with-ASPNET-b49014d2 Advaced / Extra Resource: model-binding / adding-business-logic-layer Technical Enhancements Dec 2014 Dear Team Now there are two new projects added to the Cequens..* family 1- Cequens.Framework.UI Holds - a set of generic technical UI Helpers (Classes/Methods), already used at the same project and from Admin/Customer Portals - a set of generic UI Helpers for Cequens Business UI Controls, already used from the Portals Planning - Develop a Custom Server ASP.Net Control Single or Composite match Cequens business to increase re-useability 2- Cequens.ReportingService An image copy of MPS.ReportingQueuingService with added Optimization Report Execution business. --------------------------------------------------------------- Cequens.* Family - Cequens.DAL (Library) - Cequens.BL.Account (Library) - Cequens.BL.MessageOptimization (Library) - Cequens.Framework.UI (Library) - Cequens.ReportingService (Client Application) Planning Add a new project Called "Cequens.Framework.Tech" hold all technical helpers going to be used from Data Access Layer, Business Layer or Presentation Layer. ----------------------------------------------------------------- Enhancements
  7. 7. IOC Services Reflection The services deceleration at Customer Portal is initiated using reflection and that reduce redundant logic by 80% ( 70 line to 15 line), so you only need to declare service. Planning: Apply this methodology to Admin Portal and and the services resolvion at Globael.asax at Customer & Admin Portal Thanks TPL Dataflow & Asynchrony with Reporting Service Dec 2014 Dear Team I want to share this .Net Technology with you, It is worth and useful. I applied it with the Optimization Report Service. It base on actor-based programming and message passing model. ~provides components to help increase the robustness of concurrency-enabled applications. TPL Data flow references: 1- Main Ref (Walk through 1 , Walk through 2) 2- Producer & Consumer using TPL Data flow 3- http://taskmatics.com/blog/simplifying-producer-consumer-processing-with-tpl-dataflow- structures/ 4- https://leanpub.com/tpldataflowbyexample/read 5- http://blog.stephencleary.com/2012/09/introduction-to-dataflow-part-1.html Asynchronous references: 1- http://msdn.microsoft.com/en-us/library/hh191443.aspx 2- http://msdn.microsoft.com/en-us/library/dd997423%28v=vs.110%29.aspx 3- http://msdn.microsoft.com/en-us/library/hh873175%28v=vs.110%29.aspx 4- http://msdn.microsoft.com/en-us/library/hh873177%28v=vs.110%29.aspx
  8. 8. New Development Theme Dec 2014 Dear Team It is the time to apply a New Theme for the next development phase, so we need to communicate What are the the Edge Technologies Stack and How to bring them to Cequens Solutions. A few coming days we will enter the year of 2015 and there is a few of new technologies announcements happen by Microsoft for that year. E.g. Visual Studio 2015, .Net 4.6, ASP.Net 5 (MVC6), Entity Framework 7. So this is a suggested plan for the new Year is, we want to : - Apply a well structured projects. - Target Framework 4.5 for all projects or 4.5.2 - Use Visual Studio 2013 with Update 4 RTM - Follow Best practices and technical recommendations. - Consider Performance and Security factors. - For DAL, Rely Fully on Entity Framework 6. - For Web, - Rely Fully on ASP.Net Web Form 4.5 - Use Asynchronous events - Use Model Binding with Gridview, DetailsView and FormView. Apply Two-Way Binding using "BindItem.{Property}" or "Item.{Property}" instead of "Bind("{Property}")". Activate usage of Data-annotations. - Use HTTP enhancements Ref: ASP.Net with Visual Studio 2012 (worth reading) Ref: ASP.Net with Visual Studio 2013 - Rely Partially on MVC5 specially for the new modules and gradually migrate old ones. - For Libraries and Helpers use: Genrices with Methods and Classes Delegates (Action, Func) Parallelism and Asynchronous Programming Reflections References: - http://msdn.microsoft.com/en-us/library/dd566231%28v=vs.140%29.aspx - http://msdn.microsoft.com/en-us/library/ff361664%28v=vs.110%29.aspx - Designing for Extensibility The new modules shouldn't loss the advantages of new technical features. I suggest to make a brainstorming session validate and analysis all point relates to this subject. Thanks
  9. 9. Software Quality Oct 2014 Dears We have to promote our software quality and ensure that it was developed in scientific way using any practice like: - Software Design Phase that give us a solid and maintainable design, before begin software implementation. - After implementation and ongoing we could activate Pair Programming to validate the code. - Put Technical Rules of Recommendation to be followed. - Use assistance tools to measure the quality of the code like Code Duplication, Code Analysis and Performance , Memory Usage Tool Ants Profiler for .Net Profiling. Already Salah install it and could feed us back. I made a small survey from 4 months with this output: http://duplicatecode.com/ http://www.solidsourceit.com/products/SolidSDD-code-duplication-cloning-analysis.html http://clonedetectivevs.codeplex.com/ http://www.getatomiq.com/ http://www.harukizaemon.com/simian/ http://msdn.microsoft.com/en-us/library/hh205279.aspx http://www.red-gate.com/products/dotnet-development/ https://www.jetbrains.com/profiler/ http://stackoverflow.com/questions/3927/what-are-some-good-net-profilers http://memprofiler.com/ http://msdn.microsoft.com/en-us/magazine/hh288073.aspx String manipulation May 2014 Dears Base on the researching for highly performance technology suitable for string manipulations, there are some options: Option A. Perl Base on many reviews and benchmarking Perl is recommended of string. It has good regular expression library with replacement mechanism. I have no experience on Perl syntax. I have a good experience on regular expression searching and replacement. The integration: will be called form .Net or NodeJs (Needs a practice test) http://onlyjob.blogspot.com/2011/03/perl5-python-ruby-php-c-c-lua-tcl.html Look at Perl, Javascript and C columns http://blog.famzah.net/2010/07/01/cpp-vs-python-vs-perl-vs-php-performance-benchmark/ Look at Perl row. Compared to native languages http://hammerprinciple.com/therighttool/items/perl Perl top features based on voting http://hammerprinciple.com/therighttool/statements/this-language-excels-at-text- processing Perl voted at the top Option B GoLang
  10. 10. Competitive to NodeJs with good performance. Belongs to C family. Has reach regular expression library http://golang.org/pkg/regexp/ The integration: needs a real practice Option C NodeJS & Regex / XRegExp
  11. 11. Quotes

×