Adaptable Enterprise Software Architecture - A Case Study

Transcription

Adaptable Enterprise SoftwareArchitecture – A Case StudyRizwan Ahmed PMP CISSPIT Systems Architect1

Indexi.ii.iii.iviv.v.vi.vii.viii.ix.2Web Based Systems ArchitectureR dRoadmapt J2EEtoSummary of J2EE Technology ComponentsDeployment view of J2EE multimulti-tiertier architectureRoadmap to Web Services (WS)Service Oriented ArchitectureSummary of WS Technology ComponentsDeployment view of WS multi-tier architectureCase Study: SCRS Forms Application SolutionsArchitecture

Introduction3zTo give a formal definition,definition software architectureis the structure of a system comprisingsystem/software components, the externallyvisible properties of those components and therelationships among themzEvery software system has an Architecture

ArchitecturalAhit tl RequirementsRit forf a WebW bBased System4zHigh PerformancezHigh AvailabilityzScalabilityzSecurity

WebWb BasedBd SystemS tReferenceR fArchitectureThis is referred to as an n-tier architecture (here, n 3).A tier is a partitioning of functionality that may be allocated toa separatet physicalh i l machinehi5

TypicalTi l WebW b BasedBd SystemS tArchitecture6

Web Browsers for Modifiability7zAn end user typically initiates a request forinformation by interacting with a HTTP or WAPenabled browserzMany technologies for creating sophisticatedUI’s (HTML, XML, Flash, ActiveX, Java Applets,AJAX etc.)zHTTPS (HTTP-Secure) is typically used forsecure transmissions. Uses SSL as a subprotocoll beneathbh HTTP andd 128 bitbi publicbli keykcryptography to encrypt communications

Proxy Servers for Performance8zRequests from browsers first arrive at a proxyserver which exists to improve the performanceof the web based systemzThese servers cache frequently accessed webpages so that users may retrieve them withouthaving to access the web site.zProxy servers are used by companies that wantto restrict their employees access to certainareas off theh system so ini some cases iti acts likelika firewall (filtering requests)

Routers and Firewalls for Security9zRequests from the proxy server arrive at a router,located on the network that may include a firewall forsecurityzThe router may implement Network AddressTranslation (NAT), which translates an externallyvisible IP address into an internal IP addresszThe purpose of the firewall is to prevent unauthorizedinformation flows or accesses from the outside world,an example of the “limit access” tactic.

LoadLd BalancingB li forf Performance,P fScalability and Availability10zThe job of the load balancer is to distribute the “load”– incoming HTTP and HTTPS requests among a poolof computers running web serverszIn choosing which server to redirect the traffic to, theload balancer may select in a round-robin or loadcharacteristics of each server to which it is connectedzload balancer supports horizontal scaling (addingmore instances of a given resource)

Web Servers for Performance11zModern web servers are multi-threaded utilizing apool of threads,threads each of which can be dispatched tohandle an incoming requestzA multi-threaded server is less susceptible tobottlenecks when a number of long running HTTP orHTTPS requests (such as credit card validations)arrive because other threads in the pool are stillavailablezConcept of Vertical scaling achievable

ApplicationAli ti ServersSforf PerformanceP fand Scalability12zThese servers implement business logic andconnectivity with the EIS tierzApplicationppservers typicallyypy supportppthe followinggmodels: COM (or more recently .NET), CORBA, J2EEand Web Serviceszenable transaction processing, queuing, transactionalg y and workload balancinggintegrity

DatabasesDt bffor PPerformance,fSScalabilityl bilitand Availability13zFinally, the request for service arrives at thedatabase where it is converted into an instruction todatabase,add/modify/retrieve informationzModern databases use internal replication or clustertechnologies for performance, scalability andavailabilityzCachingg for highergperformancep

Roadmap to J2EE14zHaving web based systems open to the internetbibringsnew pressures tot bearbon applicationsli tithatth t arenot experienced by traditional networked ISzSun Microsystems, in developing J2EE aimed toprovide a basis for technology that supportsconstruction of such systemszJ2EE provides transaction and state management,multi-threadinglti th di andd resource poolingli

Summary off J2EE TSTechnologyh lComponentsEnterprise Java Beans – API that allows developers to create,deploy and manage enterprise strength server side componentbased applicationsJava Server Pages – Provides a method for creating dynamicHTML/XML content in response to a web client requestJava Servlet – Provides a mechanism for extending thefunctionality of a web server15Java MJMessagingiSServicei– ProvidesP id J2EE applicationsli tiwithithsupport for asynchronous messaging

Summary off J2EE TSTechnologyh lComponents and Services (contd.)Java Naming and Directory Interface – J2EE’s directoryservicei allowsllJJava clientli t anddWWeb-tierb ti servletsl t tto retrievetireferences to user-defined objects such as EJB’s and otherenvironment entriesJava Transaction Service – Enables EJB’s and their clients toparticipate in transactionsJava Connector Architecture – Defines a standard architecturefor connecting the J2EE platform to heterogeneous EnterpriseInformation Systems16

Summary off J2EE TSTechnologyh lComponents and Services (contd.)CAS-COM Bridge – Allows integration between COM and J2EEapplicationsli tiacross ththe network.tk AllowsAllaccess tto J2EE serverside components by COM enabled client applicationsRMI over IIOP – ProvidesP id developersdlwithith an iimplementationlt ti offJava RMI API over OMG’s industry standard Internet InterORB protocol (IIOP)Java Database Connectivity – Provides developers with uniforminterface to a wide range of relational databases17

DeploymentDlt viewioff theth J2EE multi-tierlti tiArchitecture18

Roadmap to Web Services – SOA19zThe Service Oriented Architecture defines businessapplications as reusable,reusable easily changed componentsof business functionalityzDiscrete business functions or processes are createdas independent components with standard interfaceswhich can be accessed byy other applicationsppzService can be flexibly combined and architecturesupports creation of composite applicationsassembled from new or existing services

RoadmapRdtto WWebb ServicesS i– BenefitsBfitof SOAzEnable business agilityzProvide higher return on investmentzEnable IT agilityzCreate better modular application designszSupport multiple client types and platforms – based onindustry accepted open standardsz20Speed development time

Service Specification1. Service Definition1Each service should be described in terms of its functions and systemsused to create the service21CustomerCheck CustomerVerificationVerify if customerexistsCRMCreditcheckInterface to onlinecredit checkproviderFinancialsCheck Credit

SOA – Service Specification (contd.)2. Service InterfaceService interface provides the information necessary for creating WebServices or other application or component interfaces.22Service:Customer VerificationInput:Customer Id; name, ssn,Outputs:Customer Id; address; shipping information;email;il preferencesfMethods:verifyCustomer(custId, name, ssn)pImplementation:SOAP based web service. Backendimplementation using Java classes talking to anyEIS database

Web Services Basics23zA Web service is an implementation of the Servicesspecification independent of language, developmenttools and platformzBased on industry accepted open standards that useinternet protocols as the methodology to transportdatazThey work with .NET,NET J2EE and CORBA

Summary off WebSW b ServicesSiTechnologyT h lComponentsXML – Data representation in an independent fashionSimple Object Access Protocol – Protocol specification forexchanging structured information in the implementation of webservicesUniversal DescriptionpDiscoveryy and Integrationg– pprovidesa means of locating services via a common registry ofproviders and services24Web Services Definition Language – XML based language thatprovides a model for describing web services

DeploymentDlt viewioff a typicalt i l WebW bServices multi-tier Architecture25

SCRS Enterprise Forms ApplicationThe architecture was developed to:26zLeverage a J2EE Java and XML based API frameworksupported by the latest release of Adobe LiveCycle FormsServerzProvide standardization across in-house developed webproducts by using the same hosting platform leveragingthe popular, powerful and open source J2EE ApplicationSServerJBOSSzFurther standardization leveraging the popular opensource Apache Struts MVC (Model View Controller)framework leading to easy usability, operability andextensibility.

Adobe LiveCycle Forms27

Components OverviewForms Server Module (FSM) APIzzzz28Forms Server Module was used to create the interactive datacapture applicationFSM validates, processes, transforms and delivers formscreated in LiveCycle DesignerForm author can design a single form design that FSM canprocess and/or render in HTML or PDF formatsWhen the Form Server Module receives a request for a form, ituses a set of transformations to merge data with a form designand then delivers the form in a format that best matches thepresentation and form filling capabilities of the target browser

Components OverviewForms Server Module (FSM) API (.Continued)29zProvide server-side execution that is in the form design. The FormsServer Module executes the intelligence (validation, calculations) thatis there in the form design (written either in JavaScript or FormsCalc)and returns the results onto the HTML content to the browserzDynamically generates a PDF or an HTML document of the formdesign with or without data. An HTML form can deliver multi-pageforms page by page. In contrast, a PDF form delivers all the pages atoncezEnables a non-technical user to amend a form design by usingLiveCycle Designer to meet ongoing business requirements. Incontrast a web application that displays HTML pages may require acontrast,user to modify HTML or XML source code to make changes to a webpage.

Security Model30zDue to the sensitive nature of data being transmitted (client andddemographicshi iinformationfti iincludingl di SSociali lSSecurityit NNumbersbetc.), SSL was used to allow Forms users the ability tocommunicate securely with an 128 bit public/private key pairencrypted sessionzShort for Secure Sockets Layer, SSL provides a level ofsecurity and privacy for those wishing to conduct securetransactions over the internet. The SSL protocol works at theTransport Layer 4 of the OSI and adds a layer of encryptionupon HTTPzPort 443 and the SSL Connector has to be configured on theweb server

High level Use Case View31

Use Case Realization32

Process ViewThis section provides a description of theprocess view of the architecture. Diagramspgthe tasks (processes and threads) and relatedactivity timelines involved in the system'sexecutionti andd ththeiri iinteractions.tti33

Use Case FA001 (Sequence Diagram)34

Use Case FA002 (Sequence Diagram)35

Deployment ViewThis section provides a description of thedeployment view of the architecture andphysicalh i l networktk configurationfiti ffollowedlldbby amapping of processes to each processor.36

Deployment View37

Implementation View38

Questions/Comments?39

Web Based Systems Architecture ii. R d t J2EERoadmap to J2EE iii. Summary of J2EE Technology Components iv. Deployment view of J2EE multiDeployment view of J2EE multi-tier architecturetier architecture v. Roadmap to Web Services (WS) vi. Service Oriented ArchitectureService Oriented Architecture vii. Summary of WS Technology Components viii.