User Tools

Site Tools


at-m42:lecture16

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
at-m42:lecture16 [2009/05/05 17:03] eechrisat-m42:lecture16 [2011/01/14 12:45] (current) – external edit 127.0.0.1
Line 25: Line 25:
   * **[[#The Trouble with EJB]]**   * **[[#The Trouble with EJB]]**
   * [[#Better, Faster, Lighter Java|Lightweight Containers]]   * [[#Better, Faster, Lighter Java|Lightweight Containers]]
-  * [[#Other Important Enterprise Technologies]]+  * [[#Bigger Role for XML|Other Important Enterprise Technologies]]
   * [[#Alternatives to Java]]   * [[#Alternatives to Java]]
-  * [[#Things to Watch]]+  * [[#Gazing into my Crystal Ball|Things to Watch]]
   * [[#Module Summary]]   * [[#Module Summary]]
  
Line 183: Line 183:
   * [[#Other Important Enterprise Technologies]]   * [[#Other Important Enterprise Technologies]]
   * [[#Alternatives to Java]]   * [[#Alternatives to Java]]
-  * [[#Things to Watch]]+  * [[#Gazing into my Crystal Ball|Things to Watch]]
   * [[#Module Summary]]   * [[#Module Summary]]
  
Line 213: Line 213:
   * Spring addresses most infrastructure concerns of typical applications. It also goes places other frameworks don't.”   * Spring addresses most infrastructure concerns of typical applications. It also goes places other frameworks don't.”
  
-===== Spring Features =====+===== Spring Features (1) =====
  
   * Organizes [business] tier objects.   * Organizes [business] tier objects.
Line 220: Line 220:
   * Facilitates good programming practice by reducing the cost of programming to interfaces, rather than classes, almost to zero.   * Facilitates good programming practice by reducing the cost of programming to interfaces, rather than classes, almost to zero.
  
-===== Spring Features =====+===== Spring Features (2) =====
  
   * Most business objects in Spring applications have no dependency on Spring.   * Most business objects in Spring applications have no dependency on Spring.
Line 228: Line 228:
   * Provides a consistent framework for data access, whether using JDBC or an O/R mapping product such as Hibernate.    * Provides a consistent framework for data access, whether using JDBC or an O/R mapping product such as Hibernate. 
  
-===== Interesting Technologies in Spring =====+===== Interesting Technologies in Spring (2) ===== 
 + 
 +  * Makes extensive use of ordinary JavaBeans (equivalent to Groovy classes)((In fact Groovy objects can be substituted for JavaBeans)) 
 +  * Provides declarative transactions 
 +  * Supports Aspect-Oriented Programming (AOP) 
 +  * Makes the “wiring” of components (that is deployment) simple by use of a technique called Inversion of Control (IoC) or dependency injection. 
 + 
 +----
  
-Makes extensive use of ordinary JavaBeans (equivalent to Groovy classes) 
-Provides declarative transactions 
 Supports Aspect-Oriented Programming (AOP) Supports Aspect-Oriented Programming (AOP)
-Makes the “wiring” of components (that is deployment) simple by use of technique called Inversion of Control (IoC) or dependency injection+  * essentially a mechanism for stating that a particular service (e.g. transactions, logging, access controlshould be executed before, during or  after the execution of a particular application method. Such “Aspects” can be declared outside of the classes which will participate in the service
-Interesting Technologies in Spring +===== Interesting Technologies in Spring (2) ===== 
-Provides a database abstraction layer which separates business logic from persistence issues. + 
-Is designed to support ORM frameworks such as JDO and Hibernate. +  * Provides a database abstraction layer which separates business logic from persistence issues. 
-Provides an  MVC framework to reduce the need for Servlets and JSPs. Supports other frameworks via a user interface abstraction layer.+  Provides an  MVC framework to reduce the need for Servlets and JSPs. 
 + 
 +---- 
 + 
 +Spring is designed to support ORM frameworks such as JDO and Hibernate and supports other MVC frameworks via a user interface abstraction layer. 
 ===== More on Spring ===== ===== More on Spring =====
  
-There is much more to Spring than I can cover here. +  * There is much more to Spring than I can cover here. 
-It is the basis for Grails +  It is the basis for Grails 
-I’ll be interested to see what your seminar reveals. +  I’ll be interested to see what your seminar reveals. 
-State-of-the-Art Report and Conclusions +===== Contents =====
-The Trouble with EJB +
-Lightweight Containers +
-Other Important Enterprise Technologies +
-Alternatives to Java +
-Things to Watch +
-Module Summary+
  
 +  * [[#The Trouble with EJB]]
 +  * [[#Better, Faster, Lighter Java|Lightweight Containers]]
 +  * **[[#Bigger Role for XML|Other Important Enterprise Technologies]]**
 +  * [[#Alternatives to Java]]
 +  * [[#Gazing into my Crystal Ball|Things to Watch]]
 +  * [[#Module Summary]]
  
 ===== Bigger Role for XML? ===== ===== Bigger Role for XML? =====
  
-Java is marketed as a “write-once run anywhere” language that can run on any platform. +  * Java is marketed as a “write-once run anywhere” language that can run on any platform. 
-XML is a language for defining meta data (self describing data) that can be distributed to and manipulated on any platform. +  XML is a language for defining meta data (self describing data) that can be distributed to and manipulated on any platform. 
-Combined, Java and XML provide an interesting and powerful platform on which to build client-side and server-side services. +  Combined, Java and XML provide an interesting and powerful platform on which to build client-side and server-side services.
-===== Client Side XML =====+
  
-XML is the next generation mark-up language for document and information delivery over the web. +----
-Combined with style information (XSL) and hypertext linking (Xlink/XPointer) XML can be rendered for display on Internet Explorer 5.x and Netscape 6.x browsers. +
-The Document-Object Model (DOM) allows the XML to be manipulated using scripting. +
-XML can be used to customize the user interface of a browser (e.g in Mozilla). +
-XHTML is a definition of  HTML as an XML application. +
-XML is used for multimedia technologies such as MathML, SMIL, SVG, etc. +
-===== Server Side XML =====+
  
-XML is already used for configuration and deployment (e.g. in the servlets platform and Java EE). +**Client Side XML** 
-In technologies like SOAP it is used to describe the interfaces provided by remote objects, the data to be passed and as an envelope for data transfer (over HTTP). +  * XML is the next generation mark-up language for document and information delivery over the web. 
-XML can be used to describe documents on the server-side and these be manipulated into HTML when delivered to browsers that cannot support XML themselves. +  * Combined with style information (XSL) and hypertext linking (Xlink/XPointer) XML can be rendered for display on Internet Explorer 5.x and Netscape 6.x browsers. 
-XML allows support for multiple views of the same information: e.g. full graphics, tailored for browser, text-only, WAP, etc. +  * The Document-Object Model (DOM) allows the XML to be manipulated using scripting. 
-Can be readily combined with technologies like JSP/ASP to further separate user interface services from business logic. + * XML can be used to customize the user interface of a browser (e.g in Mozilla). 
-===== Server-Server XML =====+  * XHTML is a definition of  HTML as an XML application. 
 +  * XML is used for multimedia technologies such as MathML, SMIL, SVG, etc. 
 + 
 +**Server Side XML** 
 + 
 +  * XML is already used for configuration and deployment (e.g. in the servlets platform and Java EE). 
 +  In technologies like SOAP it is used to describe the interfaces provided by remote objects, the data to be passed and as an envelope for data transfer (over HTTP). 
 +  XML can be used to describe documents on the server-side and these be manipulated into HTML when delivered to browsers that cannot support XML themselves. 
 +  XML allows support for multiple views of the same information: e.g. full graphics, tailored for browser, text-only, WAP, etc. 
 +  Can be readily combined with technologies like JSP/ASP to further separate user interface services from business logic. 
 +  * XML is natural for defining database schemas. 
 +  * Can be used for defining components and to mediate the persistent storage of active objects. 
 +  * Can be used for information interchange from business to business. 
 +  * Is perhaps overused for deployment! 
 +===== Document Delivery Frameworks ===== 
 +  * Most interesting development in this area is perhaps Apache Cocoon. 
 +  * Cocoon is a 100% pure Java publishing framework that relies on new W3C technologies (such as DOM, XML, and XSL) to provide web content. 
 + 
 +-----
  
-XML is natural for defining database schemas. 
-Can be used for defining components and to mediate the persistent storage of active objects. 
-Can be used for information interchange from business to business. 
-Is perhaps overused for deployment! 
-Document Delivery Frameworks 
-Most interesting development in this area is perhaps Apache Cocoon. 
-Cocoon is a 100% pure Java publishing framework that relies on new W3C technologies (such as DOM, XML, and XSL) to provide web content. 
 Does this using: Does this using:
-XML: for self describing documents +  * XML: for self describing documents 
-XSL: for formatting text for display +  XSL: for formatting text for display 
-XSLT: for converting from XML to XML (e.g. XML to XHTML) +  XSLT: for converting from XML to XML (e.g. XML to XHTML) 
-XSP: for encoding scripts in XML and separating presentation from logic +  XSP: for encoding scripts in XML and separating presentation from logic 
-Built on top of Jakarta Tomcat servlet engine and closely linked to the Apache web server.+  Built on top of Jakarta Tomcat servlet engine and closely linked to the Apache web server. 
 ===== Networks for Devices ===== ===== Networks for Devices =====
  
-The gradual encroachment of network-aware devices: +  * The gradual encroachment of network-aware devices: 
-Set-top boxes for video-on-demand, cable and TV internet. +    Set-top boxes for video-on-demand, cable and TV internet. 
-Local area networks in the home +    Local area networks in the home 
-Providing services and ease of connection +    Providing services and ease of connection 
-Mobile phones and PDAs with internet connectibility +  Mobile phones and PDAs with internet connectibility 
-Emergence of wireless technologies like BlueTooth and FireWire +  Emergence of wireless technologies like BlueTooth and FireWire 
-General convergence of communications and computing+  General convergence of communications and computing 
 + 
 +---- 
 Supported (in Java) by developments like JINI, PersonalJava, Java with real-time extensions and JavaCard. Supported (in Java) by developments like JINI, PersonalJava, Java with real-time extensions and JavaCard.
 +
 ===== Peer-to-Peer Networking ===== ===== Peer-to-Peer Networking =====
  
-Success of Napster and similar networking techniques have rekindled interest in this issue. Neighbouring computing resources talk directly to each other after a discovery service has put them in contact with each other. +  * Success of Napster and similar networking techniques have rekindled interest in this issue. Neighbouring computing resources talk directly to each other after a discovery service has put them in contact with each other. 
-Potential for eliminating the server (at least as a large central resource). +  Potential for eliminating the server (at least as a large central resource). 
-Bad news for sellers of large central computing systems and servers. +    Bad news for sellers of large central computing systems and servers. 
-The only mode of operation that is sensible for technologies like BlueTooth which have to configure themselves according to the environment that they find themselves in. +  The only mode of operation that is sensible for technologies like BlueTooth which have to configure themselves according to the environment that they find themselves in. 
-In Java JINI may be an important technology for this type of application. +  In Java JINI may (oneday) be an important technology for this type of application. 
-Contents +===== Contents ===== 
-The Trouble with EJB + 
-Lightweight Containers +  * [[#The Trouble with EJB]] 
-Other Important Enterprise Technologies +  * [[#Better, Faster, Lighter Java|Lightweight Containers]] 
-Alternatives to Java +  * [[#Bigger Role for XML|Other Important Enterprise Technologies]] 
-Things to Watch +  * **[[#Alternatives to Java]]** 
-Module Summary+  * [[#Gazing into my Crystal Ball|Things to Watch]] 
 +  * [[#Module Summary]]
  
  
Line 316: Line 336:
  
 Just because Java can handle many aspects of the modern client-server platform does not necessarily mean that it is the best way to handle such applications in all cases.  Just because Java can handle many aspects of the modern client-server platform does not necessarily mean that it is the best way to handle such applications in all cases. 
 +
 Some competing technologies worth considering: Some competing technologies worth considering:
-Scripting languages +  * Scripting languages 
-Microsoft .NET+  Microsoft .NET 
 ===== Scripting Languages ===== ===== Scripting Languages =====
  
-Java is relatively poor at handling text (see Servlet examples) +  * Java is relatively poor at handling text (see Servlet examples) 
-Not the easiest language for web-site development +  Not the easiest language for web-site development 
-Not particularly well adapted to use in rapid application development and prototyping +  Not particularly well adapted to use in rapid application development and prototyping 
-Difficult to use as a glue language for “components” +  Difficult to use as a glue language for “components” 
-Better languages for these applications are arguably scripting languages like Perl, Python, Ruby, TCL/Tk, Visual Basic for Applications and in the browser Javascript or VBScript.   +  Better languages for these applications are arguably scripting languages like Perl, Python, Ruby, Groovy, TCL/Tk, Visual Basic for Applications and in the browser Javascript or VBScript.   
-In many applications the best solution may be a multi-language solution rather than a single language solution. +  In many applications the best solution may be a multi-language solution rather than a single language solution. 
-Infrastructure technologies: TCP/IP, HTTP, XML/HTML, make this relatively easy in any combination of languages and/or platforms.+  Infrastructure technologies: TCP/IP, HTTP, XML/HTML, make this relatively easy in any combination of languages and/or platforms. 
 ===== Groovy and Grails ===== ===== Groovy and Grails =====
  
-Groovy … a scripting language that is compatible with Java +  * Groovy … a scripting language that is compatible with Java 
-provides full access to that Java Platform APIs +    provides full access to that Java Platform APIs 
-Simplified collection syntax (lists, maps, ranges and regular expressions) +    Simplified collection syntax (lists, maps, ranges and regular expressions) 
-Closures and easier to use iteration, file, multithreading and networking APIs through closures. +    Closures and easier to use iteration, file, multithreading and networking APIs through closures. 
-Grails … a web application framework built on Spring. +  Grails … a web application framework built on Spring. 
-DRY, convention over configuration, “full stack” enterprise development. +    DRY, convention over configuration, “full stack” enterprise development. 
-We’ll hear more in your seminar +    We’ll hear more in your seminar 
-Multi-Language E-Commerce +===== Multi-Language Enterprise Applications ===== 
-User interface services: + 
-Web forms and JavaScript, TCL/Tk, Visual Basic, Active-X +  User interface services: 
-Text handling: +    Web forms and JavaScript, TCL/Tk, Visual Basic, Active-X 
-Perl, Python, JPython, JRuby, Groovy +  Text handling: 
-Middle-tier +    Perl, Python, JPython, JRuby, Groovy 
-EJB, DCOM, XSL, XSP, JSP, ASP, SOAP, RESTful services +  Middle-tier 
-Business-to-business +    EJB, DCOM, XSL, XSP, JSP, ASP, SOAP, RESTful services 
-XML, SOAP, RESTful services +  Business-to-business 
-Database +    XML, SOAP, RESTful services 
-Perl-DBI, Python, ADO, JDBC, GORM+  Database 
 +    Perl-DBI, Python, ADO, JDBC, GORM 
 ===== Microsoft .NET ===== ===== Microsoft .NET =====
  
 Software development and application delivery platform for the new century. Contains: Software development and application delivery platform for the new century. Contains:
-C#, a “new” language for writing classes and components, that integrates elements of C, C++, and Java, and adds additional features, like metadata tags, related to component development.  +  * C# 
-“common language runtime”, which runs bytecodes in an Internal Language (IL) format. Code and objects written in one language can, ostensibly, be compiled into the IL runtime, once an IL compiler is developed for the language.  +  “common language runtime” 
-A set of base components, accessible from the common language runtime, that provide various functions (networking, containers, etc.).  +  base components 
-ASP+, a new version of ASP that supports compilation of ASPs into the common language runtime (and therefore writing ASP scripts using any language with an IL binding).  +  ASP+ 
-Win Forms and Web Forms, new UI component frameworks accessible from Visual Studio.  +  Win Forms and Web Forms 
-ADO+, a new generation of ADO data access components that use XML +  ADO+ 
-How do .NET and Java EE compare?+   
 +----
  
 +**Notes**
 +
 +**C#** is a “new” language for writing classes and components, that integrates elements of C, C++, and Java, and adds additional features, like metadata tags, related to component development. 
 +
 +The “**common language runtime**”, runs bytecodes in an Internal Language (IL) format. Code and objects written in one language can, ostensibly, be compiled into the IL runtime, once an IL compiler is developed for the language. 
 +
 +The set of **base components**, accessible from the common language runtime, that provide various functions (networking, containers, etc.) is equivalent to the Java Platform APIs. 
 +
 +**ASP+**, is a new version of ASP that supports compilation of ASPs into the common language runtime (and therefore writing ASP scripts using any language with an IL binding)
 +
 +**Win Forms and Web Forms**, new UI component frameworks accessible from Visual Studio.
 + 
 +**ADO+**, a new generation of ADO data access components that use XML.
 +
 +===== How do .NET and Java EE compare? =====
 +
 +See notes
 +
 +----
  
 +^.NET^Java EE^Key differences^
 +|C# programming language | Java programming language | C# and Java both derive from C and C++. Most significant features (e.g., garbage collection, hierarchical namespaces) are present in both. C# borrows some of the component concepts from COM and VB, adds some of its own (like metadata tags), but incorporates these features into the syntax differently. Java runs on any platform with a Java VM. C# only runs in Windows for the foreseeable future. C# is implicitly tied into the IL common language runtime, and is run as just-in-time (JIT) compiled bytecodes or compiled entirely into native code. Java code runs as Java Virtual Machine (VT) bytecodes that are either interpreted in the VM or JIT compiled, or can be compiled entirely into native code. |
 +|.NET common components (aka the “.NET Framework SDK”)|Java core API|High-level .NET components will include support for distributed access using XML and SOAP (see ADO+ below). |
 +|Active Server Pages+ (ASP+) |Java ServerPages (JSP) | ASP+ will use Visual Basic, C#, and possibly other languages for code snippets. All get compiled into native code through the common language runtime (as opposed to being interpreted each time, like ASPs). JSPs use Java code (snippets, or JavaBean references), compiled into Java bytecodes (either on-demand or batch-compiled, depending on the JSP implementation). IL Common Language Runtime allows code in multiple languages to use a shared set of components, on Windows. Underlies nearly all of .NET framework (common components, ASP+, etc.). |
 +|IL Common Language Runtime|Java Virtual Machine and CORBA IDL and ORB|Java's Virtual Machine spec allows Java bytecodes to run on any platform with a compliant JVM. CORBA allows code in multiple languages to use a shared set of objects, on any platform with an ORB available. Not nearly as tightly integrated into Java EE framework. Similar web components (e.g., based on JSP) not available in Java standard platform, some proprietary components available through Java IDEs etc.|
 +|Win Forms and Web Forms|Java Swing/Java Server Faces|Win Forms and Web Forms RAD development supported through the MS Visual Studio IDE - no other IDE support announced at this writing. Swing and JSF support available in many Java IDEs and tools.|
 +|ADO+ and SOAP-based Web Services|JDBC, EJB, JMS and Java XML Libraries (XML4J, JAXP)|ADO+ is built on the premise of XML data interchange (between remote data objects and layers of multi-tier apps) on top of HTTP (AKA, SOAP). .NET's web services in general assume SOAP messaging models. EJB, JDBC, etc. leave the data interchange protocol at the developer's discretion, and operate on top of either HTTP, RMI/JRMP or IIOP.|
  
 ===== How do they Stack Up? ===== ===== How do they Stack Up? =====
  
-Both .NET and Java EE offer a similar shopping list of features. +  * Both .NET and Java EE offer a similar shopping list of features.  
 + 
 +----
 .Net .Net
-The .NET core works on Windows only but theoretically supports development in many languages +  * The .NET core works on Windows only but theoretically supports development in many languages 
-.Net's SOAP capabilities will allow components on other platforms to exchange data messages with .NET components. +  .Net's SOAP capabilities will allow components on other platforms to exchange data messages with .NET components. 
-The core components of the framework (IL runtime environment, ASP+ internals, Win Forms and Web Forms component "contracts", etc.) will be proprietary. Full platform may only be available from Microsoft. +  The core components of the framework (IL runtime environment, ASP+ internals, Win Forms and Web Forms component "contracts", etc.) will be proprietary. Full platform may only be available from Microsoft. 
  
-How do they Stack Up? 
-Both .NET and Java EE offer a similar shopping list of features.  
 Java EE Java EE
-Java EE works on any platform with a compliant Java VM and a compliant set of required platform services. +  * Java EE works on any platform with a compliant Java VM and a compliant set of required platform services. 
-All of the specifications that define the Java EE platform are published and reviewed publicly, and numerous vendors offer compliant products and development environments. +  All of the specifications that define the Java EE platform are published and reviewed publicly, and numerous vendors offer compliant products and development environments. 
-Java EE is a single-language platform. Calls from/to objects in other languages are possible through CORBA, but CORBA support is not a ubiquitous part of the platform. +  Java EE is a single-language platform((This is no longer true since Java has become open to scripting languages such as JRuby, Jython, Scala, and Groovy)). Calls from/to objects in other languages are possible through CORBA, but CORBA support is not a ubiquitous part of the platform. 
  
-Contents 
-The Trouble with EJB 
-Lightweight Containers 
-Other Important Enterprise Technologies 
-Alternatives to Java 
-Things to Watch 
-Module Summary 
  
 +===== Contents =====
 +
 +  * [[#The Trouble with EJB]]
 +  * [[#Better, Faster, Lighter Java|Lightweight Containers]]
 +  * [[#Bigger Role for XML|Other Important Enterprise Technologies]]
 +  * [[#Alternatives to Java]]
 +  * **[[#Gazing into my Crystal Ball|Things to Watch]]**
 +  * [[#Module Summary]]
  
 ===== Gazing into my Crystal Ball ===== ===== Gazing into my Crystal Ball =====
  
-A 4th edition of Eckel’s book covering the new language features in Java 1.5. +Back in 2005 I made some predications:{{  :at-m42:crystal-ball.png|}} 
-Consolidation and wide acceptance of MVC and ORM frameworks. +  * A 4th edition of Eckel’s book covering the new language features in Java 1.5 came true
-The rise of lightweight frameworks. +  Consolidation and wide acceptance of MVC and ORM frameworks came true
-Penetration of AOP into mainstream OO development. +  The rise of lightweight frameworks largely happened and Ruby on Rails bought forth even more "lightweightness"
-EJB 3.0(see next slide) +  Penetration of AOP into mainstream OO development hasn't quite happened yet
-One of you will get rich marketing yourself as a Java EE architect! +  EJB 3.0 came out (see next slide) 
 +  One of you will get rich marketing yourself as a Java EE architect -- may still come true 
 + 
 +---- 
 + 
 +When I have some time I may update this presentation to bring it up to the state-of-the-art in 2009.
  
 ===== EJB 3.0 ===== ===== EJB 3.0 =====
  
-Recognising that the interests of developers where poorly served by the last versions of the EJB specification, Sun has set up a working group to develop version 3.0 of the specifications. +Recognising that the interests of developers where poorly served by the last versions of the EJB specification, Sun set up a working group to develop version 3.0 of the specifications. 
-Early indications are+ 
-Inspired by XDoclet (itself inspired by .NET) EJB 3.0 will make extensive use of annotations (a new feature of Java 1.5) to reduce the need for so many interface files.  +The final spec is now in general release
-Business components will be standard Java Objects.  +  Inspired by XDoclet (itself inspired by .NET) EJB 3.0 makes extensive use of annotations (a new feature of Java 1.5) to reduce the need for so many interface files.  
-It will be adopting some of the techniques developed for ORM for persistence support. +  Business components are standard Java Objects.  
-More at http://www.theserverside.com/articles/article.tss?l=SimplifyingEJB3 and in the draft specification at http://java.sun.com/products/ejb/docs.html+  It includes ORM for persistence support in the form of the Java Persistence API (JPA) which is similar to Hibernate in design
-Contents +  * EJB version 3 was released in May 2006. 
-The Trouble with EJB +  * The reference implementation is the open source Glassfish container
-Lightweight Containers +===== Contents ===== 
-Other Important Enterprise Technologies + 
-Alternatives to Java +  * [[#The Trouble with EJB]] 
-Things to Watch +  * [[#Better, Faster, Lighter Java|Lightweight Containers]] 
-Module Summary+  * [[#Bigger Role for XML|Other Important Enterprise Technologies]] 
 +  * [[#Alternatives to Java]] 
 +  * [[#Gazing into my Crystal Ball|Things to Watch]] 
 +  * **[[#Module Summary]]**
  
  
 ===== Module Summary ===== ===== Module Summary =====
  
-Have presented the Java platform in some detail via the medium of Groovy +  * Have presented the Java platform in some detail via the medium of Groovy 
-Considered advanced platform features: +  Considered advanced platform features: 
-Multithreading +    Multithreading 
-Java IO +    Network and Distributed Programming 
-Network Programming +    Enterprise Java 
-Enterprise Java +  Discussed some of the disadvantages of Java EE and introduced some hot topics for the future. 
-Discussed some of the disadvantages of Java EE and introduced some hot topics for the future. +===== Thank you for your patience and long attention! ===== 
-Thank you for your patience and long attention!  + 
-The End! +===== The End! ===== 
-Its Been Emotional!+ 
 +===== It's Been Emotional! ===== 
 +{{:at-m42:emotional.png|}}
  
  
at-m42/lecture16.1241543016.txt.gz · Last modified: 2011/01/14 12:25 (external edit)