JMS WebServices Petr Aubrecht CA

Slides:



Advertisements
Podobné prezentace
Rozšíření systému pro zátěžové testy o SOAP a agenty Zbyněk Pyšný.
Advertisements

Systémová integrace SW technologie pro integraci
Návrh architektury moderních informačních systémů
Dokumentace objektů a zveřejnění funkcí
SYNTACTIC SUGAR MS SQL 2005 – SOA Petr Krejzl
Web Services Introduction
Web services. Co jsou webservices Součinná spolupráce počítačů v síti Technologie pro vzdálené volání procedur (RPC) Nezávislá na platformě Data v XML.
Webové služby Cíl  Popis základního konceptu technologie webových služeb.
Vytvořila:Monika Hradilová. NA ÚVOD… NA ÚVOD… Přátelství a internet…Tohle téma je hodně otevřené. Na celém světě existují milióny sociálních stránek.
IBM Global Technology Services © 2006 IBM Corporation Zabezpečení přístupu k informacím na základě elektronického podpisu Konference eČesko 2006.
Datové schránky v praxi Lukáš Jelínek
VY_32_inovace_01_infpojmynet1_01 Vypracovala: Mgr. Lucie Bernátová Datum: leden 2013 Předmět:Informační technologie Ročník:7. ročník Škola - adresa:Základní.
Důvody vzniku projektu…. Méně jak 50% obyvatel využívá internet! Méně jak 50% obyvatel využívá internet! Jen málo z těch, co ho využívají, ho využívají.
Elektronické učební materiály - II. stupeň Digitální technologie 9 Autor: Bc. Pavel Šiktanc Movie Maker uložení a sdílení filmů Co se všechno naučíme???
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Prostředí internetu Číslo DUM: III/2/VT/2/2/27 Vzdělávací předmět: Výpočetní technika Tematická oblast:
Počítačové sítě 14. IPv4 © Milan Keršlágerhttp:// Obsah: ● IP protokol, IP adresa,
I DENTIFIKACE NA INTERNETU Mgr. Marie Kardová Leden 2014.
Technologie počítačů 4. Sběrnice © Milan Keršlágerhttp:// Obsah: ● ISA, EISA, VL-BUS,
Základní škola a mateřská škola Lázně Kynžvart Autor: Mgr. Petra Šandová Název: VY_32_INOVACE_5B_INF3_16_ Téma: pro 4.,5.ročník ZŠ, vytvořeno:
Principy Základních registrů Ing. Ondřej Felix, CSc.
Mobilní sítě Jakovljevič, Sklenář. obsah Protokol ICMP Ping Traceroute DNS 1G, 2G, 3G, 4G, LTE Virtuální mobilní operátor.
Software Licence a distribuce Karel Nymsa Dotkněte se inovací CZ.1.07/1.3.00/
VideoWeb: Webová aplikace pro správu domácí videotéky Adam Melkus, Radek Jirovský, Jakub Kutil, Hoa Quoc TranPB138
Univerzitní informační systém III., Lednice 2004 Vývoj a koncepce nového univerzitního webu Ondřej Kudlík
ŠKOLA: Gymnázium, Chomutov, Mostecká 3000, příspěvková organizace AUTOR:Mgr. Jiří Kolář NÁZEV:VY_32_INOVACE_08B_15_Sítě_internet2 TEMA:HARDWARE A SOFTWARE.
Tvorba WWW stránek Podmínky Jan Růžička Institut geoinformatiky VŠB-TU Ostrava, HGF tř. 17.listopadu Ostrava-Poruba
INTERNET. Internet je celosvětový systém navzájem propojených počítačových sítí, ve kterých mezi sebou počítače komunikují pomocí rodiny protokolů TCP/IP.
Úvod do databází MS Access (1).
Štěpán Kafka, Help Service Remote Sensing
Štěpán Kafka, Help Service Remote Sensing
PŘIHLÁŠENÍ K ELEKTRONICKÉ EVIDENCI TRŽEB
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Internet komunikace.
Elektronické bankovnictví
Stávající informační systém
HTML a CSS Rostislav Miarka.
AUTOR: Mgr. Marcel Bednařík NÁZEV: VY_32_INOVACE_09_INF_12
Síťové Protokoly.
Název školy: Základní škola Městec Králové Autor: Mgr. Petr Novák
Počítačové sítě 7. Topologie sítí
Internet.
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Internetové služby – Disk Google Číslo DUM: III/2/VT/2/2/36 Vzdělávací předmět: Výpočetní technika Tematická.
Práce s PC P1.B Vránek Michal.
Inf Počítač a lidé s handicapem
Webová aplikace MS OLOMOUC.
Komunikační model TCP/IP
INTERNET Číslo projektu CZ.1.07/1.5.00/ Název školy
Prvky v síti Střední škola hotelová a služeb Kroměříž Název školy
Zkušenosti s nasazením J2EE aplikací na AS GlassFish
Brno, Ing. Petr Šústal, MPA
Webová aplikace MS2014+ Ing. Josef Šetek
Proxy server a Firewall
Inf Princip fungování elektronické pošty
Informatika pro ekonomy přednáška 8
GDPR: ochrana osobních údajů
Hypertext Markup Language
Informatika Počítačové sítě.
Pavel Dvořák Gymnázium Velké Meziříčí Počítačové sítě – služba WWW
Nové scénáře a ArcGIS Enterprise
Prezentace SDAT pro ČBA
Remote login.
Platforma pro personalizaci standardizovaných výukových materiálů
Přednášky z Distribuovaných systémů
Základní škola a mateřská škola Lázně Kynžvart Autor: Mgr
Apache Camel Systémová Integrace Pavel Macík
Podpora sociální práce na území Statutárního města Kladna
Počítačové sítě Úvodní přednáška
Vít Rutkovský ISŠ SEMILY 3.září 2012
Informační systém základních registrů
Digitální učební materiál
Informatika Počítačové sítě.
Transkript prezentace:

JMS WebServices Petr Aubrecht CA Je 10 druhů lidí: ti, kteří rozumí binárnímu kódu, a ti, kteří ne

Co dnes probereme JMS posílání zpráv textové zprávy, objekty WebServices vzdálené volání funkcí oboje je dostupné v JEE WS je dostupné i v JRE (jednoduchý web server) vhodné pro integraci různých systémů

JMS

JMS Java Messaging System asynchronní komunikace robustní řešení, zaručené doručení zprávy volitelně priority, timeout Loosely coupled communication, Message-Oriented Middleware je možné kombinovat spojovat různé aplikace vlastní implementace je záležitost implementace, definováno je rozhraní pro uživatele např. Glassfish má connectory pro připojení na další systémy legacy systémy, CORBA, mail, Jabber/XMPP

JMS v případě JEE se o veškerou agendu stará kontejner connections, vytváření zpracovávajících objektů škálování, příp. load balancing schéma životní cyklus

Message Driven Bean Jsou dva typy posílání zpráv, je potřeba zaregistrovat (!) queue, point to point messaging domain topic, publish/subscribe messaging domain zpracování může být synchronní (volání receive) asynchronní (listener) Posílat se mohou zprávy textové objektové dále Map, Bytes, Stream, Empty zprávy mohou mít textové atributy (key/value)

Queue, Topic Queue Topic

JMS zpráva Definuje několik typů zpráv Jak je zpráva serializována už definováno není Zpráva má hlavičku, properties a tělo Hlavička pro routing zprávy delivery mode, msg ID, timestamp, priorita, ReplyTo, msg type Properties (jméno, hodnota) Aplikační + MOM specifické údaje Díky unifikaci zpráv lze vybírat zprávy podle údajů v hlavičce (tzv. Selektor) (SQL 92 subset) Tělo Stream, Map, Text, Object, Bytes

Definice queue/topicu @MessageDriven(mappedName = "jms/TestQueue", activationConfig = { @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"), @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") }) public class NewMessageBean implements MessageListener { public NewMessageBean() {} public void onMessage(Message message) { }

Poslání zprávy @Resource(name = "jms/TestQueue") private Queue testQueue; @Resource(name = "jms/TestQueueFactory") private ConnectionFactory testQueueFactory; ... Connection connection = testQueueFactory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer messageProducer = session.createProducer(testQueue); messageProducer.send(createJMSMessageForjmsTestQueue(session, session.createTextMessage(„Ahoj!“)));

Implementace JMS Komerční IBM MQ, Sonic MQ, Fiorano, BEA, Sun MQ Open Source OpenJMS, ActiveMQ, JbossMessaging, JBossMQ mom4j, JORAM, MantaRay, UberMQ

Web Service

Web Service protokol založený na XML a HTTP původní motivace byla jednoduchost a využití stávajících zvládnutých technologií Corba byla na Microsoft příliš složitá (i to XML je pro ně těžký, ale už je to lepší) průchod skrz firewally jak psát nové firewally, aby omezily útoky přes WS? opravdu snadná implementace (na základní úrovni)

W3C definice A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine- processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.

Technologie XML (Extensible Markup Language) WSDL (Web Services Description Language) UDDI (Universal Description, Discovery and Integration) A Web Service is located by its listing in a UDDI SOAP (Simple Object Access Protocol) Web Services communicate using SOAP Dále XML-RPC JAX-RPC, JAX-WS

UDDI (Universal Description, Discovery and Integration) Popisuje služby (services), podobné zlatým stránkám Slouží k vyhledání vhodné služby pro klienta “creates a platform-independent, open framework for describing services, discovering businesses, and integrating business services using the Internet.” Přístup z Javy pomocí JAXR technologie

WSDL (Web Services Description Language) Definuje interface dané služby Types: datové typy (např. pomocí XSD) Messages: typy zpráv pro komunikaci Operations: akce podporované službou Bindings: komunikační protokoly použité pro přenos dat Ports: komunikační brány (binding + adresa) Service: popis daní služby

SOAP (Simple Object Access Protocol) “Lightweight” protokol, nezávislý na platformě a programovacím jazyku Obálka a tělo zprávy Typicky přenášený pomocí HTTP Typicky request-response komunikace

Typické použití Klient kontaktuje UDDI registr aby nalezl vhodnou službu (web service) Klient získá WSDL dané služby Klient vytvoří SOAP zprávu a pošle ji službě Služba zpracuje požadavek a může odeslat SOAP odpověď

Java technologie pro Web Services JAX-RPC: API for XML-based RPC JAXR: Java API for XML Registries JAXB: Java Architecture for XML Binding JAXP: API for XML Processing JAXM: API for XML Messaging SAAJ: SOAP with Attachments API JAX-WS: Java API for XML Web Services Nahrazuje JAX-RPC

Prostředí Web Services v Javě Apache Axis od Apache konzorcia, verze 2.0 je stále vidět JEE kontainer (Glassfish, JBoss, komerční) řeší i security, transakce integrují technologie z předchozí strany stateless session beans mohou být zpřístupněny pro WS JSE základní podpora pro klienta i server

RESTful Web Services Jiný způsob jak vytvářet Web Services REST = Representational State Transfer Inspirováno WWW (resources, URI, ...) Jednoznačná identifikace zdroje pomocí URI http://mycomp.com/eshop/coffee/item/14582 Veškerý stav přenášen v URI obecný interface pro přístup ke zdrojům (e.g., HTTP GET, POST, PUT, DELETE) Architektonický styl, ne standard

Závěr Vyzkoušejte, není to složité. Další čtení Sun JEE tutorial: http://java.sun.com/javaee/5/docs/tutorial/doc/bncgl.h tml Java Passion:http://www.javapassion.com/javaee_advanced / Celé se to začne komplikovat, když dojde na zabezpečení, login, transakce atd. Objeví se nekompatibilita, takže pro opravdu kritická nasazení nasadit řešení jednoho výrobce (typicky buď všechno od MS nebo nic :-) ).