20
Introduction Szolgáltatásorientált rendszerintegráció Service-Oriented System Integration Dr. Balázs Simon BME, IIT

Introduction - iit.bme.hu · Enterprise Service Bus (ESB) Business Processes (BPMN, BPEL) Lightweight back-end and front-end NodeJS Design and development guidelines for services

Embed Size (px)

Citation preview

IntroductionSzolgá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áros péntek, 8:30-10:00, 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 érdemi tartalommal 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

3Dr. Balázs Simon, BME, IIT

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

4Dr. Balázs Simon, BME, IIT

Topic of the course

Dr. Balázs Simon, BME, IIT 5

Topic of the course

Dr. Balázs Simon, BME, IIT 6

System integration:“Putting together a bunch of junk

made by other people”

– Randy Waterhouse (Neal Stephenson: Cryptonomicon)

System integration: within an enterprise

7

Oracle

DB

JEE

MySQL

PHPSQL

Server

.NET

SAP

?

Dr. Balázs Simon, BME, IIT

System integration: between government agencies

8

Social security

Windows, .NET

Address repository

Solaris, Sun

e-Gov portal

Linux, JBoss

Tax authority

Linux, Oracle

?

Dr. Balázs Simon, BME, IIT

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, self-contained 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.

11Dr. Balázs Simon, BME, IIT

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

12

Application

Service

World

Dr. Balázs Simon, BME, IIT

System integration: within an enterprise

13

Oracle

DB

JEE

MySQL

PHPSQL

Server

.NET

SAP

SOA

Dr. Balázs Simon, BME, IIT

System integration: between government agencies

14

Social security

Windows, .NET

Address repository

Solaris, Sun

e-Gov portal

Linux, JBoss

Tax authority

Linux, Oracle

SOA

Dr. Balázs Simon, BME, IIT

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

15Dr. Balázs Simon, BME, IIT

SOA architecture

16

service

service repository

client

protocol

publish interfacefind

get interface

request-response

The actual interface, protocol and service repository depend on the concrete technology.

Dr. Balázs Simon, BME, IIT

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