Introduction Szolgáltatásorientált rendszerintegráció Service-Oriented System Integration Dr. Balázs Simon BME, IIT
Általános információk Előadás: csütörtök, 8:30-10:00, IB.025. Gyakorlat: páratlan péntek, 10:15-11:45, IB.025. konzultáció jellegű házi feladatok előre kiadva a tárgy weboldalán Weboldal: https://www.iit.bme.hu/targyak/bmeviiima04 Dr. Balázs Simon, BME, IIT 2
Követelmények Aláíráshoz: 5 házi feladatból legalább 3 elfogadása elfogadás feltétele: legalább 2.00 pontszám Pótlási lehetőség: pótlási héten Megajánlott jegy is lehetséges Ha mind az 5 házi feladat elfogadásra kerül Javítási/rontási lehetőség: pótlási héten de csak ha mind az 5 be lett adva a félév során a pótlásként beadott változat lesz érvényes aláírás nem veszik el Vizsga: Írásbeli vizsga Dr. Balázs Simon, BME, IIT 3
Házi feladatok Minden főbb témakörből egy-egy mindegyikhez van egy Hello World tutorial a konkrét feladat jóval összetettebb GYIK a korábbi félévekből Kötelezően az előírt környezetben kell fordulniuk és futniuk van telepítési útmutató: otthoni telepítéshez van előre konfigurált VM a BME cloud-ban Tesztelésük: automatizált szkriptekkel pontosan be kell tartani az előírásokat és elnevezéseket tilos a tesztek megakasztása (pl. nem előírt readline, feleslegesen feldobott dialógus ablak, stb.) különben büntetés: pontlevonás a tesztek között vannak egymásra épülők, így ha valamelyik rész rossz, a többi teszt is elbukhat pl. ha az inicializáló kód rossz: akár 0 pont is lehet a végső! manuális teszt nem lesz, bármilyen apró hibán múlt is Dr. Balázs Simon, BME, IIT 4
Topic of the course Dr. Balázs Simon, BME, IIT 5
Topic of the course System integration: Putting together a bunch of junk made by other people Randy Waterhouse (Neal Stephenson: Cryptonomicon) Dr. Balázs Simon, BME, IIT 6
System integration: within an enterprise SAP.NET? JEE SQL Server PHP Oracle DB Dr. Balázs Simon, BME, IIT MySQL 7
System integration: between government agencies Tax authority Linux, Oracle e-gov portal Linux, JBoss? Social security Windows,.NET Address repository Solaris, Sun Dr. Balázs Simon, BME, IIT 8
Task Communication between applications Different programming languages Different operating systems Different software vendors Legacy systems Business processes Integration Dr. Balázs Simon, BME, IIT 9
Requirements Simple Standardized Independent of programming languages and operating systems Well supported and widespread technology Middleware aspects: reliable message delivery encryption, digital signature transaction handling Solution: Service Oriented Architecture Dr. Balázs Simon, BME, IIT 10
Definition of SOA "Service Oriented Architecture (SOA) is an approach to the development of loosely coupled, protocol-independent distributed applications composed from well-defined, selfcontained software resources accessible as Services across the extended enterprise in a standardized way, enhancing re-usability and interoperability." Ankur Gupta, marketing manager, Fiorano Software Inc. Dr. Balázs Simon, BME, IIT 11
Service Basic building block of the architecture Publishes a resource or capability Well defined and standard interface Hides implementation details Should be a very thin layer Can wrap legacy applications Good design is essential: published functionality appropriate granularity reuse World Service Application Dr. Balázs Simon, BME, IIT 12
System integration: within an enterprise SAP.NET SOA JEE SQL Server PHP Oracle DB Dr. Balázs Simon, BME, IIT MySQL 13
System integration: between government agencies Tax authority Linux, Oracle e-gov portal Linux, JBoss SOA Social security Windows,.NET Address repository Solaris, Sun Dr. Balázs Simon, BME, IIT 14
Technologies for implementing services SOA is only a paradigm, a collection of design principles SOA is NOT a technology Possible technologies to implement the SOA: RPC (Remote Procedure Call) RMI (Remote Method Invocation) CORBA (Common Object Request Broker Adapter) DCOM (Distributed COM) Web services: everything is based on XML REST (REpresentational State Transfer): based on HTTP WebSockets... future communication technologies Dr. Balázs Simon, BME, IIT 15
SOA architecture service repository find get interface publish interface client request-response protocol service The actual interface, protocol and service repository depend on the concrete technology. Dr. Balázs Simon, BME, IIT 16
Properties of SOA Architecture style Abstracts complexity Standard protocols Standard interfaces Self-contained services Autonomy Internally and externally callable services Loosely-coupled services Reusable services Discoverability through a repository Incremental integration Dynamic integration Service composition Business process execution Quality of Service (QoS) characteristics (security, transactions, performance, etc.) Dr. Balázs Simon, BME, IIT 17
SOA Manifesto priorities Business value over technical strategy Strategic goals over project-specific benefits Intrinsic interoperability over custom integration Shared services over specific-purpose implementations Flexibility over optimization Evolutionary refinement over pursuit of initial perfection SOA Manifesto: http://www.soa-manifesto.org/ Dr. Balázs Simon, BME, IIT 18
Overview of the course Dr. Balázs Simon, BME, IIT 19
Overview of the course Communication technologies Web Services REST WebSockets Lightweight SOA systems Microservices OSGi Complex SOA systems Enterprise Service Bus (ESB) Business Processes (BPMN, BPEL) Lightweight back-end and front-end NodeJS Design and development guidelines for services Dr. Balázs Simon, BME, IIT 20