at-m42:lecture16
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
at-m42:lecture16 [2009/05/05 17:19] – eechris | at-m42:lecture16 [2011/01/14 12:45] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 27: | Line 27: | ||
* [[#Bigger Role for XML|Other Important Enterprise Technologies]] | * [[#Bigger Role for XML|Other Important Enterprise Technologies]] | ||
* [[# | * [[# | ||
- | * [[#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]] | ||
* [[# | * [[# | ||
- | * [[#Things to Watch]] | + | * [[#Gazing into my Crystal Ball|Things to Watch]] |
* [[#Module Summary]] | * [[#Module Summary]] | ||
Line 259: | Line 259: | ||
* **[[#Bigger Role for XML|Other Important Enterprise Technologies]]** | * **[[#Bigger Role for XML|Other Important Enterprise Technologies]]** | ||
* [[# | * [[# | ||
- | * [[#Things to Watch]] | + | * [[#Gazing into my Crystal Ball|Things to Watch]] |
* [[#Module Summary]] | * [[#Module Summary]] | ||
Line 329: | Line 329: | ||
* [[#Bigger Role for XML|Other Important Enterprise Technologies]] | * [[#Bigger Role for XML|Other Important Enterprise Technologies]] | ||
* **[[# | * **[[# | ||
- | * [[#Things to Watch]] | + | * [[#Gazing into my Crystal Ball|Things to Watch]] |
* [[#Module Summary]] | * [[#Module Summary]] | ||
Line 376: | Line 376: | ||
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# |
- | A “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. | + | |
- | A set of base components, accessible from the common language runtime, that provide various functions (networking, | + | |
- | 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). | + | |
- | 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? | + | |
+ | ---- | ||
+ | **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**”, | ||
+ | |||
+ | The set of **base components**, | ||
+ | |||
+ | **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), | ||
+ | |IL Common Language Runtime|Java Virtual Machine and CORBA IDL and ORB|Java' | ||
+ | |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, | ||
===== 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. | + | |
- | The core components of the framework (IL runtime environment, | + | |
- | 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. | + | |
- | 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. | + | |
- | 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]] | ||
+ | * [[# | ||
+ | * **[[#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: |
- | 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. | + | |
- | Penetration of AOP into mainstream OO development. | + | |
- | EJB 3.0! (see next slide) | + | |
- | One of you will get rich marketing yourself as a Java EE architect! | + | |
+ | | ||
+ | |||
+ | ---- | ||
+ | |||
+ | 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, | + | Recognising that the interests of developers where poorly served by the last versions of the EJB specification, |
- | 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 | + | |
- | It will be adopting some of the techniques developed for ORM for persistence support. | + | |
- | More at http:// | + | |
- | Contents | + | * EJB version 3 was released |
- | 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: | + | |
- | Multithreading | + | |
- | Java IO | + | |
- | Network Programming | + | |
- | Enterprise Java | + | |
- | 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! ===== |
- | It’s Been Emotional! | + | |
+ | ===== It's Been Emotional! | ||
+ | {{: | ||
at-m42/lecture16.1241543987.txt.gz · Last modified: 2011/01/14 12:25 (external edit)