case study concerning architecture development emil doychev, [email protected] georgi...
TRANSCRIPT
![Page 1: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/1.jpg)
Case study concerning architecture development
Emil Doychev, [email protected]
Georgi Cholakov, [email protected]
University of Plovdiv “Paisii Hilendarski”, e-Commerce Laboratory
![Page 2: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/2.jpg)
The idea
• The main idea – to prepare a case study for building software architectures
• To use a real project for this case study, which demonstrates the reverse engineering of a software architecture
• In each step of the explanation to put a problem and show a solution
![Page 3: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/3.jpg)
A set of real projects
A set of real projects, developed for Deutsche Telekom
One (appropriate?) selected
Cut IdealizedCarrier Web
![Page 4: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/4.jpg)
What we have at the beginning
• A huge database, unknown type• Application, written in 70’s in COBOL, only way to access
the database• The database and the application are not available on the
side of the developers• Necessity of modern tools for accessing the business logic
of this application
![Page 5: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/5.jpg)
What we must have at the end
• Thin client for access to the system (browser)• Multilingual:
– User interface– Help system– Error messages
• Simulator of the COBOL application for the period of the development
![Page 6: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/6.jpg)
How to realize it?
User
Database
CO
BO
L A
pp
lica
tio
n
?
![Page 7: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/7.jpg)
Problems and Solutions
User
DB
CO
BO
L A
pp
lica
tio
n
?
Problem: Thin clientSolution: Web server
Web Browser
Web Server
HTTP
![Page 8: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/8.jpg)
Problems and Solutions
User
DB
CO
BO
L A
pp
lica
tio
n
?
Problem: Multilingual user interfaceSolution: Dynamic web application, using Struts framework
Web Server
JSP Engine
Struts
![Page 9: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/9.jpg)
C
OR
BA
Wra
pp
er
Problems and Solutions
User
DB
CO
BO
L A
pp
lica
tio
n
?
Problem: Access to the COBOL application using JavaSolution: CORBA
Web Server
JSP Engine
Struts
![Page 10: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/10.jpg)
C
OR
BA
Wra
pp
er
Problems and Solutions
User
DB
CO
BO
L A
pp
lica
tio
n
?
Problem: Multilingual help system and error messagesSolution: Mappings in local database
Web Server
JSP Engine
Struts
LocalDB
![Page 11: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/11.jpg)
Problems and Solutions
User
?
Problem: The COBOL application is not available during the development lifecycleSolution: Development of own CORBA test server, considering the IDLs, given bythe developers of the original CORBA wrapper.
Web Server
JSP Engine
Struts
LocalDB
CORBA
Test Server
![Page 12: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/12.jpg)
CORBA
Test Server
Problems and Solutions
Problem: Accessing CORBA and database server from web applicationSolution: Putting the business logic in an application server
Note: Session Façade is used as a pattern.
Web Application
Application Server
LocalDB
Session Façade
Entity EJBs
CORBA Façade
Bean
![Page 13: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/13.jpg)
Overall architecture’s view
LocalDB
Application Server
Session Façade
Entity EJBs
CORBA Façade
Bean
Web Server
JSP Engine
Struts
CO
RB
A W
rap
pe
r
DB
CO
BO
L A
pp
lica
tio
n
![Page 14: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/14.jpg)
The topics, distributed in lections
Topic Lection
Servlets and JavaServer Pages, Enterprise Java Beans
Environments and architectures for Internet based development
CORBA Enterprise applications integration and web services
Frameworks and patterns Elective course
![Page 15: Case study concerning architecture development Emil Doychev, emil.doychev@ecl.pu.acad.bg Georgi Cholakov, georgi.cholakov@ecl.pu.acad.bg University of](https://reader035.vdocument.in/reader035/viewer/2022062409/56649e805503460f94b84363/html5/thumbnails/15.jpg)
Used software
• Local DB – Oracle• Application Server – IBM Web Sphere• ORB – Orbix/Visibroker• JSP Engine – Tomcat• Frameworks – Apache Struts