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.