case study concerning architecture development emil doychev, [email protected] georgi...

15
Case study concerning architecture development Emil Doychev, [email protected] Georgi Cholakov, [email protected] University of Plovdiv “Paisii Hilendarski”, e- Commerce Laboratory

Upload: leo-york

Post on 16-Jan-2016

217 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Used software

• Local DB – Oracle• Application Server – IBM Web Sphere• ORB – Orbix/Visibroker• JSP Engine – Tomcat• Frameworks – Apache Struts