JavaOne 2006 Markus Bjartveit Krüger

Slides:



Advertisements
Liknende presentasjoner
Webbasert administrasjonssystem for fondsforvaltere Martin Lie 20. april 2006.
Advertisements

Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Håndtering av integrasjon B2B
C++ for Java-programmerere
Datafiler og serialisering Tekstfiler Scanner-klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering.
So you think you can scale? Oracle Coherence i praksis OUGN vårseminar, april 2010, Øyvind Brusevold.
Webprogrammering (LO113A) 1 Kom i gang med PHP. Webprogrammering (LO113A) 2 Mål  Installere Apache og PHP  Konfigurasjon av Apache og PHP  Forstå samspillet.
Java database persistence framework.  SELECT by FROM postnr AS p WHERE ( SELECT DISTINCT postnr FROM addr AS a WHERE user.adrId = a.Id ) = p.postnr;
Java Teknologi Teknikker Økosystem Johannes Brodwall
1 Objektorientert samvirke - del 4 av Arne Maus, Institutt for informatikk, Universitetet i Oslo.
Unit testing Gruppe 2: Kjartan Haugen Jon Gunnar Bjørkmo
Testene koster mer enn de smaker? Ole Morten Amundsen
Service Discovery Chau Bui Tuan Pham Marie Fuglesang Bent Erik Skogstad Hong Nhung thi Vo.
SOA & Business Process Track Driv konsistens og best practices inn i ditt tjenestedesign : Web Service Software Factory Det er klare fordeler.
Tjenestebasert design med dynamiske proxyer og Spring Bjørn Vidar Bøe, JavaZone 2005.
Web Services gjennom eksempler Johannes Brodwall.
Web Client Software Factory Inge StubdalLevel 300 Avanade.
Begrenset redigering “Klubbjournalister” For web ansvarlig klubb.
Side 1 Hibernate utvikling i praksis JavaZone 2004 Eivind Waaler, Bekk – Versjon 1.0.
Objekt, Instanser og referanser + litt til. Objekter  Instanser  En instans er et objekt av en bestemt klasse  Instanser blir laget ved å kalle klassens.
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
© Lars-Erik Kindblad.  Et platformuavhengig verktøy for å automatisere build prosesser.  Støttes og drives av Apache Software Foundation.  Kommer ferdig.
Bakgrunn. Funksjoner. Nøkkelfunksjoner. Application Manager. View Controller. Validation. Dialog Manager. Clay. Tiger extensions.
Tema: Introduksjon Hvorfor Velocity? Installasjon Velocity VS. JSF / JSP Eksempler Oppsumering.
C# for javaprogrammerere
Klient - server nettverk Et nettverk består (ofte) av en (eller flere) server(e), og mange klienter. Klientene bruker tjenester levert av servere(ne).
Web-applikasjoner Prosjekt3 Logging Gruppe 9 Malik Muhammad Naeem Kevan Qureshi.
Erfaring med bruk av åpen kildekode til støtte for læringsprosessene
Combining Compound Conceptual User Interface Components with Modelling Patterns - a Promising Direction for Model-based Cross-platform User Interface Development.
Introduksjon til Java 5.0. Hva er nytt i 5.0? Generiske typer For-løkke med iterator (for-hver løkke) Automatisk innpakking av primitive typer Metadata.
Entity Framework Andreas Knudsen, Bekk Consulting AS 31/
Singleton & Adapter Pattern Gruppe 3. Singleton Pattern Sørger for at en klasse kun kan ha en instans Vanligvis implementert med globale variabler –Singleton.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown En subjektiv sammenligning Johannes Brodwall.
Copyright © 2003 Systek J2EE Arkitektur Java Workshop CBA Johannes Brodwall, Systek as.
  © Steria Å Lytte til koden Johannes Brodwall, Chief scientist, Steria Statkraft 16. april, 2010 Du kan lytte til koden.
Copyright © 2003 Systek J2EE Teknologier Java Workshop CBA Johannes Brodwall, Systek as.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown En subjektiv sammenligning Johannes Brodwall.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown Johannes Brodwall - Systek AS.
JavaOne oppsumering tobias k torrissen
Implementering av caching ved hjelp av Spring Christian Vestøl
 Startet i november 2004  Hatt 32 møter siden oppstart, med ett til to foredrag på hvert møte.  Har et snitt på 15 deltakere på møtene.  All time.
Fitnesse i PDMT 05. mai 2008 Finn-Robert Kristensen Systemarkitekt.
PARLAY/OSA Referanser: Referanser Foredraget er i all hovedsak basert på to artikler. Disse kan finnes på:
OOT Seminar H-97 CORBA Praktisk del. Valg av ORB implementasjon n Har valgt å bruke Visigenic sin ORB implementsjon n ORB’en er 100% Java kodet n Bygger.
TTM3 Self Configuring Systems Topic 5: Service Discovery Protocols and middleware: HAVi, SLP Maxim Langebrekke, ITEM.
Harmoni mellom teknologi og metodologi = økt produktivitet. Av Henrik Larsen Toft Takk til veileder: Lars-Petter Helland.
Å lese tall fra en fil, klassen Scanner 1.Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2.Kan skanne teksten etter data av ulike.
CORBA Noen hull som må fylles: ORB Object Adapters CORBA services IDL Factory Objects.
Eziz Annagurban Veiledere: Sven-Olai Høyland Carsten Helgesen
Praktiske erfaringer med Objektorientert Progress og.NET Jan Kolstad PUG Norway, Lillehammer 2005.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
.NET og Progress Samspill og styrker, GUI og forretningslogikk.
Tekniske valg i applikasjonen Mine studier USITs allmøte 9.oktober 2014.
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
Desperate times calls for desperate measures Markedsandel gått fra +90% til under 20 Må integrere og få innpass på andre plattformer M$ går open source.
1 Elektronisk samhandling & integrasjon PUG Lillehammer
Main metoden n public static void main(String[] args){ } n Inni denne metoden skjer alt! n Det kan bare finnes en main metode per program. n Den kan ligge.
Struktur FE2: Interface Controller Session Bean Session Beans Query BeanConverter Bean Data transfer objectsEJB entities Database.
J2ME- og Web-basert Instant Messaging System. Oppgavebeskrivelse Selvstendig system J2ME- og Web-basert Internasjonalisering.
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
VirusLab Utvikling av en profesjonell applikasjon.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Copyright © 2003 Systek Java Safari Java Workshop CBA Johannes Brodwall, Systek as.
Programmering av mobile enheter nr.027
XML og JDOM Helge Furuseth XML  XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language  HTML =
Android Programmering 10 timers kurs. Forutsetninger Noe bakgrunn i Java eller et annet objektorientert språk Litt peiling på XML Vi bruker Windows 7.
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
Triks Avslutt alle klasser, metoder og løkker samtidig som du lager dem. Deklarer alle variablene/referansene på begynnelsen av klassen. Hvis du definerer.
Having a crack at a new stack
Utskrift av presentasjonen:

JavaOne 2006 Markus Bjartveit Krüger

Temaer •Java Platform, Enterprise Edition 5 –Enterprise Javabeans 3.0 –Java Persistence API •REST: web services på en ny (gammel) måte •IDE-krigen: NetBeans 5.5 vs Eclipse 3.2

Java EE 5 •J2EE → JEE •Mål: enklere å utvikle enterprise-applikasjoner •Krever Java 5.0 •Fullstendig bakoverkompatibel •Standarden ferdig: final release 11. mai 2006 •Referanseimplementasjon tilgjengelig fra Sun, basert på open source-prosjektet GlassFish – –

EJB 3.0 •Bruker annotations (Java 5) i stedet for konfigurasjon i XML-filer •Forenklet programmeringsmodell –Plain Old Java Objects (POJO); forretningslogikk trenger ikke fra JEE-grensesnitt lenger –Trenger ikke remote / local interfaces eller home interfaces –Dependency injection basert på annotations; trenger ikke slå opp ressurser i JNDI, mye lettere å skrive testklasser

Eksempel: EJB 2.1 public class PayrollBean implements javax.ejb.SessionBean { SessionContext ctx; DataSource empDB; public void setSessionContext(SessionContext ctx) { this.ctx = ctx; } public void ejbCreate() { empDB = (DataSource)ctx.lookup( "jdbc/empDB"); } public void ejbActivate() { } public void ejbPassivate() { } public void ejbRemove() { } public void setBenefitsDeduction(int empId, double deduction) {... Connection conn = empDB.getConnection();... }... }

Eksempel: EJB public class PayrollBean implements Payroll private DataSource empDB; public void setBenefitsDeduction(int empId, double deduction) {... Connection conn = empDB.getConnection();... }... }

Java Persistence API (JPA) •Erstatter entity beans •Del av JEE 5, men kan også brukes selvstendig •Grensesnitt mot, ikke erstatning for, eksisterende ORM-rammeverk som TopLink og Hibernate •Bruker annotasjoner og POJOs i stedet for grensesnitt og XML-deklarasjoner

JPA: Eksempel på public class Employee implements Serializable { private String id; private String name; private Department department; // Every entity must have a no-arg public/protected constructor. public Employee(){ } public Employee(String name, Department dept) { this.name = name; this.department = dept; // Every entity must have an identity. public String getId() { return id; } public void setId(String id) {this.id = id;} public String getName() {return name; } public void setName(String name) { this.name = public Department getDepartment() { return department; } public void setDepartment(Department department) { this.department = department; }

JPA: Eksempel på public class HRMSBean implements HRMS private EntityManager em; public Employee createEmployee(String empName, String departmentName) { Department dept = em.find(Department.class, empName); Employee emp = new Employee(empName, dept); // User is responsible for managing bidirectional // relationships dept.getEmployees().add(emp); em.persist(emp); return emp; public interface HRMS { Employee createEmployee(String empName, String departmentName); }

JEE 5: døden for Spring? •Neppe; Spring 2.0 på vei •JEE krever fremdeles JEE-spesifikke bindinger, selv om rammeverket er mindre påtrengende •Spring-tjenester kan bytte fra JEE til andre plattformer ved å endre konfigurasjonsfiler, uten noen kodeendringer –Kan for eksempel bytte til Jini/Javaspaces, se Gigaspaces sin Spring-integrasjon

REST: web services på ny (gammel) måte •REST: Representational State Transfer –“Architectural Styles and the Design of Network- based Software Architectures”, Roy Fielding – •Konkurrent til SOAP •Ikke en standard, snarere en arkitektur •Brukes blant annet av tjenester hos Yahoo, del.icio.us og Amazon

Kjennetegn ved REST •Hver ressurs har unik URL •Bruker hele spekteret av aksessmetoder i HTTP (GET, POST, PUT, DELETE, osv.) –CRUD med HTTP: GET = SELECT, PUT = INSERT, POST = UPDATE, DELETE = DELETE •Mindre overhead enn SOAP •Utnytter web-infrastruktur (cacher, proxyer) bedre •Må definere struktur for respons •Ikke så god støtte (ennå) i utviklingsverktøy •Bedre egnet for AJAX

REST og Java •Støttes av JAX-WS –Men: mye manuelt knot •Støttes av AXIS 2.0 •Kan implementeres manuelt (java.net.URL, Apache HTTPClient, m.m.), siden grensesnittene typisk er mye enklere

IDE-krig: NetBeans 5.5 vs Eclipse 3.2 •NetBeans 5.5: beta tilgjengelig •Eclipse 3.2: beta tilgjengelig, endelig release som del av samlerelease Eclipse Callisto 30. juni 2006

Nytt i NetBeans 5.5 •Støtte for JEE 5 •JPA: kan generere entitetsklasser fra DB- skjema og omvendt •Statisk og dynamisk verifikasjon av JEE 5- kode •Profilering av hele JEE-stacken •God integrasjon med GlassFish –autogenerering av testsider for web services –HTTP monitor: ta opp, revider og spill tilbake HTTP- forespørsler –SOAP monitor: ditto for SOAP –analyse av kallflyt for web service-kall

Nytt i Eclipse 3.2 •Eclipse Callisto: fellesslipp av 10 Eclipse- prosjekt –Business Intelligence and Reporting Tools –C/C++ IDE – Data Tools Platform –Eclipse Modeling Framework –Graphical Editor Framework –Graphical Modelling Framework – Eclipse Project (kjerneprosjektet) – Test and Performance Tool Platform – Web Tools –Visual Editor

IDE: evaluer høst 2006 •Hvis du utvikler for JEE, bør du evaluere NetBeans og Eclipse på nytt høsten 2006 •Nyheter fra andre leverandører? IntelliJ, JDeveloper, andre?