In this session I’ll show how we managed to create two manufacturing applications with around 50% of the code reused. Although it’s the same business line, the products are entirely different. You’ll see how we designed the database, middle tier, services and UI in the way that it’s possible to reuse it again and again.
5. WHAT WE KNOW ABOUT CODE
REUSABILITY?
• It’s complex to design, hard to write
and almost impossible to maintain
• It breaks when you need it the most
• It always ends up as framework
6. A PROBLEM OR A CHALLENGE?
• What’s the story?
• Two manufacturing systems
• Deadline approaching fast
• …but we had an idea
7. ARCHITECTURE
ToolId CustomerId
Customer Specific Tables
Descriptio FirstName
n …
… CustomX
Common Tables
ML
ToolId ProductId
Descriptio Name
n System …
XM
… CustomX
L
ML
ContainerI
d InvoiceId
Number
Descriptio
…
n CustomX
… ML
8. ARCHITECTURE
PROS CONS
• No schema • Inability to use
changes standard tools for
• More reuse of a querying +
base system reporting
• Performance
issues around
serializing
(solvable)
9. ARCHITECTURE
Customer User Interface
Customer
Business
Customer Business Facade
Business Facade
Facade
Customer
Customer
Business Business Facade
Business Logic
Logic
Customer
Data Data Access
Access
SQL
Oracle Db2
Server
10. YEAH BABY! NOW WE’VE GOT OUR
OWN FRAMEWORK TOO
• It is focused on a business problem
eg. Manufacturing Execution Systems
• It is extensible as much as you need
14. SUMMARY
• We have seen how to design reusable
components
• Great example of implementation in a
new system
• An elegant way to package & deploy
them