Jonny Karlsson 19.3.2009 PROCESSPROGRAMMERING Föreläsning 8 (19.3.2009)‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.

Slides:



Advertisements
Liknande presentationer
Configured Edititon för Unicenter 3.0 Sättet att snabbt komma igång med Unicenter.
Advertisements

Tomas Sandström, Adtollo
Vad är en databas? “En databas är en delad samling logiskt relaterade data som designats för att möta informationsbehovet i en organisation eller för.
Föreläsning 7, Kapitel 7 Designa klasser Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
Att söka och förvalta kunskap
Basic Security (Grundläggande säkerhet) Methods Of Attack (Attackmetoder)
Programmering B PHP Lektion 1
En kort presentation om persondatorn och datorns olika delar.
”Ett sätt att distribuera Business Objects via webben”
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 3 ( ) Innehåll: -Namngivna rörledningar.
Ali Ghodsi Global Computing Ali Ghodsi –Swedish Institute of Computer Science (SICS) Kungliga Tekniska Högskolan (KTH)
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
2I1070 Lektion 2 KTH-MI Peter Mozelius Servlets och databaskopplingar.
Metoder i java Det finns två typer av metoder i java
Arv.
Inkapsling.
Next previous Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl. Något om Cookies. Internetprogrammering.
Next previous Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl Internetprogrammering F 14 Läs också: Kursboken.
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
Alice in Action with Java
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
Java. Kortfattat om Java Syntaxen påminner i hög grad om C++ Stöd för objektorientering Kod kan köras i en virtuell maskin som finns tillgänglig för nästan.
Från Kartago till WMS Mikael Grimheden Kristianstads kommun
Kartdistribution med Web Map Services
EN KOMPLETT INDUSTRIPARTNER ! ALLMÄNT OM MELSEC STYRSYSTEM.
1 Windows Azure Mikael ÖstbergTorkel Ödegaard. 2.
OpenHierarchy introduktion
PROCESSPROGRAMMERING
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Programmering B PHP Lektion 1 Mahmud Al Hakim Folkuniversitetet
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 4 ( )‏ Innehåll:Trådsäkerhet - Intrinsic locks och synkronisering - Synchronized statements.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
Introduktion till DITA
Polymorfism.
Lektion 3 Mahmud Al Hakim
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Ingen vet vad han klarar innan han har försökt. ” - Publilius Syrus (85 f.Kr.-43 f.Kr.).
SCADA Supervisory Control And Data Acquisition
Projekt och Arkitektur
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Att designa parallella program - manuell vs. automatisk parallellisering - Java och ”multi-core”
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
MED RAMVERKET.NET Marcus Medina UTVECKLING. Dagens visdomsord ” För varje berg du bestiger se inte bara vad som ligger framför dig, titta ner och se vad.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 6 ( ) Innehåll: -Producent – konsument problemet -Förmedling av fildeskriptorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
MV500B: Introduktion till interaktiv ljuddesign David Yanagisawa, Anders-Petter Andersson 4.5 högskolepoängLektion 3.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
Jonny Karlsson GRUNDKURS I PROGRAMMERING MED JAVA Föreläsning 9 ( ) INNEHÅLL: -Tabeller av klassobjekt -Användning av Java API specifikationen.
Java servlets och databaskopplingar
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 11 ( ) Innehåll: - Förmedling av fildeskriptorer.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Lågnivåprogrammering Översikt av I/O-mekanismer i hårdvara Olika språkkrav och modeller för komponent- hantering(device driving) Modeller för komponent-hantering.
INTRODUKTION TILL PROGRAMMERING
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
1 Windows Azure Mikael ÖstbergTorkel Ödegaard. 2 Äshur Ashore Azzuure.
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Oavsett om du tror att du kan, eller om du tror att du inte kan, har du helt rätt. ” -
NÄTVERKSPROTOKOLL Föreläsning INNEHÅLL - DHCP (Dynamic Host Configuration Protocol)‏
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Introduktion till programmeringsspråket Java -Den allmänna.
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
Public Thomas Mejtoft Residential gateway som enabler för ASP tjänster i hemmet.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 2 ( )‏ Innehåll:Trådar: - Avbrott (”interrupts”)‏ - Metoden join()‏ Högnivå objekt för.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 6 ( )‏ Innehåll:  Att designa parallella program - manuell vs. automatisk parallellisering.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: -Exekveringstrådar.
Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola Assembly.
HSA Integration.
RMI Av: Josefina & Sarah DS04.
Presentationens avskrift:

Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans (EJB)

Jonny Karlsson Introduktion till Java EE En plattform för serverprogrammering i Java EE plattformen skiljer sig från SE plattformen på så sätt att den sätter till bibliotek som erbjuder funktionalitet för säkra, distribuerade och ”multi-tier” programvara som till största delen är baserade på modulära komponenter som körs på en applikationsserver Distribuerad programvara = ett program som är uppsjälkt i delar och körs parallellt på multipla datorer Multi-tier programvara = Är en klient-server arkitektur där själva presentationen, processeringen och datahanteringen av ett program är logiskt separata processer, se bild på nästa slide

Jonny Karlsson ”Multi-tier” programvara

Jonny Karlsson Introduktion till Java EE Modulära komponenter = Separata moduler som fungerar som systemelemet som erbjuder olika typer av service och kan kommunicera med andra komponenter

Jonny Karlsson Introduktion till Java EE Inkluderar flera API specifikationer: JDBC (Java Database Connectivity) – definierar hur klienter kommunicerar med en db JDBC (Java Database Connectivity) – definierar hur klienter kommunicerar med en db RMI (Remote Method Invocation) – Metodanrop över nätverk RMI (Remote Method Invocation) – Metodanrop över nätverk JMS (Java Message Service) – Distribuering av meddelanden mellan två eller flere klient. JMS (Java Message Service) – Distribuering av meddelanden mellan två eller flere klient. Web services – Webbbaserade dataprogram som kommunicerar och samarbeter dynamiskt med andra webbtjänster (på samma sätt som en människa kan surfa till olika webbsidor) Web services – Webbbaserade dataprogram som kommunicerar och samarbeter dynamiskt med andra webbtjänster (på samma sätt som en människa kan surfa till olika webbsidor) XML XML Enterprise JavaBeans – Distribuerade objekt Enterprise JavaBeans – Distribuerade objekt Servlets och JSP (Java Server Pagets) – Dynamiska websidor (Javas motsvarighet till PP, CGI och ASP) Servlets och JSP (Java Server Pagets) – Dynamiska websidor (Javas motsvarighet till PP, CGI och ASP)

Jonny Karlsson Enterprise Java Beans En serverkomponent som sköter ”affärslogiken” i en applikation. Med ”affärslogik” menas den kod som uppfyller syftet med applikationen. En Enterprise Java Bean kan t.ex. Implementera ”affärslogiken” i anropade metoder som t.ex. bestallProdukt och kollaLager Dessa metoder finns alltså i komponenter på applikationsservern som klienter kan anropa och på det sättet komma åt inventarietjänsterna som applikationen erbjuder.

Jonny Karlsson Fördelar med Enterprise Beans Enterprise beans förenklar utvecklingen av storskaliga distribuerade applikationer på många Sätt: EJB containtern på applikationsservern sköter om alla möjliga system-nivå tjänster som behövs för en bean på det sättet kan en Bean utvekclare koncentrera sej på att lösa själva ”affärsproblemet” EJB containtern på applikationsservern sköter om alla möjliga system-nivå tjänster som behövs för en bean på det sättet kan en Bean utvekclare koncentrera sej på att lösa själva ”affärsproblemet” Eftersom ”bönorna” i stället för själva klienten innehåller själva programlogiken kan klientutvecklaren fokusera på själva gränssnittet i stället för att behöva bry sej om att koda rutiner för åtkomst till databaser odyl. ---> Klienterna är mycket ”klena” och de kan köras på små enheter med liten processorkraft (t.ex. På smarttelefoner) Eftersom ”bönorna” i stället för själva klienten innehåller själva programlogiken kan klientutvecklaren fokusera på själva gränssnittet i stället för att behöva bry sej om att koda rutiner för åtkomst till databaser odyl. ---> Klienterna är mycket ”klena” och de kan köras på små enheter med liten processorkraft (t.ex. På smarttelefoner) EnterpriseBeans är portabla komponenter vilket betyder det går lätt att återanvända dem, dvs. att bygga helt nya applikationer på böner som redan finns EnterpriseBeans är portabla komponenter vilket betyder det går lätt att återanvända dem, dvs. att bygga helt nya applikationer på böner som redan finns

Jonny Karlsson När använda Enterprise Beans? När din applikation bör vara ”scalable” dvs. Ha en förmåga att klara av ett växande antal användare genom att distribuera kompenenter på multipla maskiner När din applikation bör vara ”scalable” dvs. Ha en förmåga att klara av ett växande antal användare genom att distribuera kompenenter på multipla maskiner När din applikation måste stöda säkre datatransaktioner När din applikation måste stöda säkre datatransaktioner När din applikation kommer att ha varierande klienter (både med hög och låg prestanda) När din applikation kommer att ha varierande klienter (både med hög och låg prestanda)

Jonny Karlsson Olika typer av Enterprise Beans Session Beans Session Beans – Representerar en enskild klient på en applikationsserver – För att komma åt en applikation som finns på servern anropar klienten ”sessionsbönans” metoder – Sessionsbönan utför arbete för dess klient, på det sättet undviker klienten komplexitet genom att exekvera applikationens rutiner på servern – Kan inte ”delas” dvs. den kan endast ha en klient – Data lagras inte på servern utan när klienten avslutas så förstörs också dess sessionböna och är inte längre associerad med klienten Message-Driven Beans Message-Driven Beans – Tillåter Java EE applikationer att processera medelanden asynkront. – Meddelanden t.ex. Från en klient till en Message-Driven Bean går via en kö. – Exekverar efter att ett meddelande tagits emot från en kient – Representerar inte direkt delad data, men kan komma åt och uppdatera data

Jonny Karlsson Läs mera om Enterprise Beans Teori och exempel EJB programmering i NetBeans 6.5 IDE