Lalit Jagannath Kale Software Developer “ A language that doesn't affect the way you think about programming, is not worth...
Objective <ul><li>Today’s situation in e-Zest </li></ul><ul><li>Proposed Solution </li></ul><ul><li>Philosophy behind the ...
Today’s Situation In e-Zest <ul><li>Mostly Database driven projects </li></ul><ul><li>Apart from few exceptions, database ...
WHAT IS THE SOLUTION??? A DRY KISS ARE  YOU  MAD???
Philosophy Behind The Solution <ul><li>DRY </li></ul><ul><li>D O NOT  R EPEAT  Y OURSELF </li></ul><ul><li>KISS </li></ul>...
<ul><li>Significant decrement in application development cost </li></ul><ul><li>Greater ROI   </li></ul><ul><li>Frees up ...
<ul><li>Domain specific architectures needs more expertise in respect of SDLC and careful crafting </li></ul><ul><li>In Pr...
Today’s Situation In e-Zest: Revisited <ul><li>Our Developers are good coders/programmers = DRY helper </li></ul><ul><li>W...
Code Generators <ul><li>Code generates code </li></ul><ul><li>Code follow Certain Pattern </li></ul>public static DataTabl...
<ul><li>Demo- SMPNet DataAccess Generator </li></ul>
Some Interesting Facts <ul><li>Total number of Stored procedures :  </li></ul><ul><li>Approx. time for writing DAL code fo...
Capabilities of Code Generators <ul><li>CRUD and many other types of Stored procedures from Database </li></ul><ul><li>Dat...
Demo My Generation CodeSmith Studio
Sample Application Architecture Presentation / UI Concrete Business Entities Abstract Business Entities Concrete Data Acce...
summary <ul><li>Do Not Repeat Yourself, Find the repetitive patterns  </li></ul><ul><li>Model Driven Architectures </li></...
References <ul><li>Model Driven Architecture </li></ul><ul><li>My Generation: </li></ul><ul><li>http://www.mygenerationsof...
Thank You !! <ul><li>Lalit Kale </li></ul><ul><li>http:// lalitkale.wordpress.com </li></ul><ul><li>[email_address] </li><...
Upcoming SlideShare
Loading in …5
×

Model Driven Architectures

969 views

Published on

Model Driven Architectures Roadmap

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Model Driven Architectures

  1. 1. Lalit Jagannath Kale Software Developer “ A language that doesn't affect the way you think about programming, is not worth knowing.”
  2. 2. Objective <ul><li>Today’s situation in e-Zest </li></ul><ul><li>Proposed Solution </li></ul><ul><li>Philosophy behind the solution </li></ul><ul><li>Model Driven Architectures-Vision </li></ul><ul><li>Model Driven Architectures-business Drivers </li></ul><ul><li>Today’s situation in e-Zest: Revisited </li></ul><ul><li>Demo- SMPNet Utility </li></ul><ul><li>Demo-My Generation, CodeSmith Studio </li></ul><ul><li>Capabilities of code generators </li></ul><ul><li>Sample application Architectures </li></ul><ul><li>Summary </li></ul>
  3. 3. Today’s Situation In e-Zest <ul><li>Mostly Database driven projects </li></ul><ul><li>Apart from few exceptions, database is Normalized. </li></ul><ul><li>Developers write all the code from scratch for each and every project/application </li></ul><ul><li>Only Intelligence: copy-paste </li></ul><ul><li>WE ARE REINVETING THE WHEEL !! </li></ul>
  4. 4. WHAT IS THE SOLUTION??? A DRY KISS ARE YOU MAD???
  5. 5. Philosophy Behind The Solution <ul><li>DRY </li></ul><ul><li>D O NOT R EPEAT Y OURSELF </li></ul><ul><li>KISS </li></ul><ul><li>K eep I t S imple S tupid !! </li></ul><ul><li>Are you MAD?? </li></ul><ul><li>Not exactly, I am talking about MDA [ Model Driven Architectures ] </li></ul>
  6. 6. <ul><li>Significant decrement in application development cost </li></ul><ul><li>Greater ROI  </li></ul><ul><li>Frees up the workforce for more utilization into knowledge driven activities  </li></ul><ul><li>Can provide value additions for clients  </li></ul><ul><li>Introduce Industry wide best practices into products </li></ul><ul><li>Delighted customers  </li></ul>Model Driven Architectures –Business Drivers
  7. 7. <ul><li>Domain specific architectures needs more expertise in respect of SDLC and careful crafting </li></ul><ul><li>In Project Execution, Thought Process should be aligned towards Domain and should not be limited to scope of the project. </li></ul><ul><li>Now Action Items: </li></ul><ul><li>Start with Rapid Application development strategy </li></ul><ul><li>snippets , Code generators, project/solution templates, policy files, Architecture Guidance sharing , Software factories, DSL, Product Lines </li></ul>Model Driven Architectures -Vision
  8. 8. Today’s Situation In e-Zest: Revisited <ul><li>Our Developers are good coders/programmers = DRY helper </li></ul><ul><li>We are focused on specific domains </li></ul><ul><li>e.g. CRM, Healthcare, Travel etc. = DRY helper </li></ul><ul><li>We have excellent Solution Architects Team!! = KISS helper </li></ul><ul><li>We can build domain-model specific architectures . </li></ul>
  9. 9. Code Generators <ul><li>Code generates code </li></ul><ul><li>Code follow Certain Pattern </li></ul>public static DataTable SalesByCategory(string CategoryName ) { DataTable _tempTable = new DataTable(); using (IDatabaseConnection _connection = new MyConnection()) { _connection.Open(); using (IDatabaseCommand _command = _connection.CreateCommand( &quot;dbo.SalesByCategory&quot; )) { _command.CommandType = CommandType.StoredProcedure; _command.Parameters.Add( &quot;CategoryName&quot;, DbType.String ); _command.Parameters[ &quot;CategoryName&quot; ].Value = CategoryName ; // Recommanded for SELECT methods _connection.Fill(_tempTable, _command); // Recommanded for INSERT,UPDATE or DELETE methods //_command.Execute(); } } return _tempTable; }
  10. 10. <ul><li>Demo- SMPNet DataAccess Generator </li></ul>
  11. 11. Some Interesting Facts <ul><li>Total number of Stored procedures : </li></ul><ul><li>Approx. time for writing DAL code for single stored procedure: 5 minutes, since needed replacements of parameters sometimes. </li></ul><ul><li>Approx. Time saving for writing DAL in SMPNet: </li></ul><ul><li>Errors in DAL until now: None </li></ul><ul><li>Indirect boost to team. Turned towards WE CAN DO Attitude and thinking for out of the box solution </li></ul>
  12. 12. Capabilities of Code Generators <ul><li>CRUD and many other types of Stored procedures from Database </li></ul><ul><li>Data Access layer Code </li></ul><ul><li>Business Objects/entities code </li></ul><ul><li>Database Documentations </li></ul><ul><li>GUI’s </li></ul><ul><li>Entire Master/Details scenario based applications </li></ul>
  13. 13. Demo My Generation CodeSmith Studio
  14. 14. Sample Application Architecture Presentation / UI Concrete Business Entities Abstract Business Entities Concrete Data Access classes Database Abstract Data Access classes CRUD Stored Procedures Code written by Code generators Code written by Programmers
  15. 15. summary <ul><li>Do Not Repeat Yourself, Find the repetitive patterns </li></ul><ul><li>Model Driven Architectures </li></ul><ul><li>Code Generators </li></ul><ul><li>Code generators ARE NOT AN END !! </li></ul><ul><li>MyGeneration , CodeSmith Studio </li></ul><ul><li>Thinking in Domains !! </li></ul>
  16. 16. References <ul><li>Model Driven Architecture </li></ul><ul><li>My Generation: </li></ul><ul><li>http://www.mygenerationsoftware.com </li></ul><ul><li>CodeSmith Studio </li></ul><ul><li>http://www.codesmithtools.com </li></ul><ul><li>MSDN Architecture Centers: </li></ul>
  17. 17. Thank You !! <ul><li>Lalit Kale </li></ul><ul><li>http:// lalitkale.wordpress.com </li></ul><ul><li>[email_address] </li></ul>© Lalit Kale, All rights reserved.

×