|
Sponsored Links
Resources
Enterprise Java Research Library
Get Java white papers, product information, case studies and webcasts
|
News
News
News
|
Messages: 13
Messages: 13
Messages: 13
Printer friendly
Printer friendly
Printer friendly
Post reply
Post reply
Post reply
XML
XML
XML
|
 |
TSS Article: Introducing 1060 NetKernel
In this article, Peter Rodgers discusses the 1060 NetKernel system, an open-source URI Request Scheduling Microkernel which provides the foundation for the 1060 NetKernel XML Application Server. NetKernel provides a Web operating system upon which Web apps can be developed which can in turn be used as the basis for Web-like XML-services, regardless of the chosen application protocol.
Read 1060 NetKernel - A new Abstraction for Web-systems
|
|
Message #114124
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
TSS Article: Introducing 1060 NetKernel
"Open source", "Microkernel", "XML Application Server", "Web operating system", "Web apps" "Web-like XML services". Is it just me or does this paragraph looks as if it was produced by an IT FUD generator? ;)
Gal
|
|
Message #114145
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
TSS Article: Introducing 1060 NetKernel
"Open source", "Microkernel", "XML Application Server", "Web operating system", "Web apps" "Web-like XML services". Is it just me or does this paragraph looks as if it was produced by an IT FUD generator? ;)Gal Knowing some of the engineers involved and the impetus behind the ideas, I suspect they will have taken those (rather over-used) terms and produced an architecture and implementation that justifies using the terminology.
It is, of course, a separate issue as to whether the technology is useful to yourself or to anyone else.
|
|
Message #114162
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
TSS Article: Introducing 1060 NetKernel
I was really just referring to the description with all the buzzwords. I haven't had a chance to look at the system.
Gal
|
|
Message #114184
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Interesting
A very interesting article. Long, well written, and it defintely fits my world-view in many areas.
I'm not 100% convinced that XML as a programming mechanism (XSL etc.) is all that natural for many applications, but the versioning, addressing, declarative chaining, seperation of transport from processing aspects are well described. I think these issues are just as applicable to non-XML centric applications. XML forms a nice mechanism for module data interchange however, as it is used in many of the BPM/Integration tools.
It's a shame that we cannot experiment with this architecture within a J2EE application.
|
|
Message #114190
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Errata
Just spotted a small error that must have crept in during the TSS editorial process. In the DPML example most of the closing XML tags are missing - however this doesn't effect the gist of the example.
Also there's no link to the NetKernel download: http://www.1060.org/
|
|
Message #114193
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Interesting
I think these issues are just as applicable to non-XML centric applications. XML forms a nice mechanism for module data interchange however, as it is used in many of the BPM/Integration tools. Totally Agree. We regard XML processing as simply an important application domain - the Kernel has absolutely no XML dependence. You could write a set of composable URI addressable services for image, PDF, CSV... processing if you wished.
Also, XML syntaxes for programming languages *are* horrible! We have used XML syntax for the high-level languages (DPML, XRL) since there seems to be potential value, in a declarative model, in enabling a process to dynamically generate another process.
We have a short-form DPML spec on the drawing board. Since a NetKernel language runtime is just a service that issues asynchronous requests for other services it's pretty simple to add a new language to the system.It's a shame that we cannot experiment with this architecture within a J2EE application. You can. Out of the box NetKernel is a standalone app server, however it can also be deployed as a J2EE Servlet (supplied with the download) and may even be embedded in a Java app using it's Embedded API.
|
|
Message #114246
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Brief description and example?
Can you give a brief (non-buzzword) description of what this does and and example of what it can be used for? Most of us don't have time to read long papers on technologies which may not apply to us.
|
|
Message #114264
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
admin
Can you give a brief (non-buzzword) description of what this does and and example of what it can be used for? Most of us don't have time to read long papers on technologies which may not apply to us. Ok, so now we have to hire an admin to read and interpret articles for you?
|
|
Message #114269
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: Interesting
I do not care much for the XML itself, I think XML shines when it is used together with XSL scripts. For me the greater value of this project is implementation of the REST concept. REST makes the famous "Net is the computer" come true in a very elegant way.
I just want to understand the licencing terms. Is it GPL or LGPL or something else? The licencing document on their site is sooooo boring.
|
|
Message #114272
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Executive Summary
OK here's a very brief executive summary:
NetKernel is microkernel that realises an abstraction of the Web. The abstraction allows any software component to present a Web-like URI interface. They may do this totally independently of any external application protocol (eg HTTP). NetKernel software components are URI addressable services but equally they can be web-clients into the address space. Components can be encapsulated in modules, a module may also present a set of URI interfaces. Since everything is based on URIs, modules can be combined into a virtual URI address space - ie NetKernel manages a Web of services. It also manages process scheduling, caching, module versioning, application protocol transports...
Why implement a Web abstraction? Because the web is proven as an excellent way to build systems. It is robust, adaptive to change, upgradeable, scalable, durable, composable...
Moving up to the application level, standard technologies (such as the XML technology set) can be exposed as URI addressable services. Moving up again language runtimes are provided which manage and issue requests onto the URI address space.
What can you do with this? Big question. You can create Web-applications, Web-services ... information systems of any kind - we assert that since NetKernel is intrinsically web-like then these systems reflect the proven properties of the Web. One application domain, though certainly not the only one, that benefits hugely from this is XML processing.
|
|
Message #114275
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Let me bite the bullet :)
So sooner of later there will be a need to propagate soap-headerish informaiton from one xml-service to another. For instance caller identity assertions, reply-to field, or other headers that would help to implement varios message exchange patterns like reliable delivery. And this could happen over arbitrary transport (for instance SMTP is mentioned in the paper). Then you can imagine visual designer tools for DPML that will be aware of xml input/output shapes associated with URIs, and of those header-ish stuff that's needed for call.
So you might need to provide standard way to describe xml services, and standard way of propagating headers regardless of transport. Prety soon you are talking about creating your own version of WSDL and WS-*incomprehensible set of specs, so what's the point?
The alternative is to deliberately keep NetKernel at the infant level simplicity, in which case users will keep struggling to build required infrastructure themselves, or will only use NetKernel as XSLT engine on steroids.
What's wrong with this reasoning?
|
|
Message #114279
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
License (was Re: Interesting)
I just want to understand the licencing terms. Is it GPL or LGPL or something else? The licencing document on their site is sooooo boring. When has a license ever not been boring?
NK is licensed under the 1060 Public License - which like the GPL is viral for distribution of, modifications to the Kernel and system components.
For *use* of the system it mandates OSI licensing, a quick summary is: NK is on the open-source commons, if you use it on the commons (ie open-source your application code) it's free, if you want to take it off the commons (ie keep your source closed) then you gotta pay. Unlike GPL we let you choose which OSI license you like best if you choose to open-source your application code.
Hopefully our license represents a business model that's fair to the OS community, fair value to the commercial world and means we get to feed those hungry kids I mentioned in the acknowledgement.
The License FAQ might help http://www.1060research.com/license/faq.html
|
|
Message #114284
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Let me bite the bullet :)
So sooner of later there will be a need to propagate soap-headerish informaiton from one xml-service to another. Good point. NK is entirely pragmatic about application protocols. If it makes sense to use SOAP and the WS-* stack then use them. If you want to write a REST web service its your choice.
WSDL is fine for describing any XML-service interface, not just SOAP - if a service exposed in a module needs to export a WSDL description there's nothing to stop it. Equally any service can send and receive SOAP-headers. These apply equally to publicly exported services over a transport or internal services in a module's URI address space.
At the lowest level the microkernel doesn't care about what you're up to in the application level - just the same as the Linux kernel doesn't care whether your using Gnome or KDE. So with this analogy the NetKernel XML App server is just a suite of replaceable/extendable libraries on top of the microkernel.
As a general observation. Our feeling is that with the XML-service world, the application must eventually handle the XML message no matter what the protocol. For many XML processing problems we've found that the later you bind to procedural objects the better - ie when you have the choice, keep your system loosly coupled.
|
|
 |
New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com |
 |
 |
Reza Rahman explores the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6.
(November 2, Article)
SAML is an XML-based standard for exchanging authentication and authorization data between security domains. The single most important problem that SAML was created to solve is the Web browser Single Sign-On problem. Many organizations are debating whether to stay with version 1.1 or move to 2.0. This article makes observations about both options.
(September 28, Article)
Joe Ottinger takes a look at how people learn, and applies it to the practice of programming. He notes that understanding how people learn is an essential part of working in a programming team.
(September 22, Article)
Stephen Maryka gave us an article about the Asynchronous Web and posed a number of questions that get examined like an approach to delivering Asynchronous Web capabilities through extensions to existing Java EE technologies.
(July 14, Article)
JavaServer Faces Flex goal is to provide users capability in creating standard Flex components, part of flexSDK which is open sourced through MPL license, as normal JSF components. This article by Ji Hoon Kim will provide an overview of creating a simple multilingual JSF page consisting of JSF Flex tags.
(June 29, Article)
In this session Jeff explores the key characteristics of successful SOA projects. He covers some of the patterns, and anti-patterns, tool sets, and strategies that he himself learned the hard way. Last, he provides a strategy and blueprint for achieving a high likelihood of success in your SOA project.
(June 23, Tech Talk)
Ari Zilka, CTO of Terracotta, Inc., talks about the new features in Terracotta 3.1, announced during JavaOne and available now.
(June 15, Tech Talk)
In this Tech Talk, Josh Long explores an integration challenge using Spring Integration and walks through the implementation, employing and expanding on the basic patterns of Enterprise Application Integration to tie together components into a function integration solution, and then demonstrates how Spring Integration helps address the integration requirements.
(June 15, Tech Talk)
In this Tech Talk, David Geary teaches you: The basics of Google Web Toolkit; How to implement Ajax-enabled applications in Java; Internationalization; Hooking into the browser history mechanism; Remote procedure calls.
(June 4, Tech Talk)
Jon Kern discusses the best architecture/technical solutions and ensure that they are repeated by all developers. By tackling the architecture up-front in a serial manner, subsequent parallel development will be much more manageable and predictable.
(May 28, Tech Talk)
This keynote describes the frustrations of modern knowledge workers in their quest to actually get some work done, and solutions for how to guard yourself against all those distractions. Neal Ford talks about environments, coding, acceleration, automation, and avoiding repetition as ways to defeat the misguided attempts to sap your ability to produce good work.
(May 26, Tech Talk)
Gil demonstrates how new, aggressive uses of already abundant compute capacity by common applications offer competitive value for application designers.
(May 21, Tech Talk)
Chris Keene introduces WaveMaker as a new way to automate the ability to generate Hibernate classes in order to more quickly bring OR mapping into an application.
(May 19, Article)
In this session Nati Shalom demonstrates how to take a standard Java EE web application and scale it out or down dynamically without changes to the application code. Seeing as most web applications are over-provisioned to meet infrequent peak loads, this is a dramatic change because it enables growing your application as needed, when needed, without paying for unutilized resources.
(May 19, Tech Talk)
Mastering EJB was one of the original and most influential EJB books in the industry. Mastering EJB III now returns with two new expert co-authors, updated for EJB 2.1 and 30% new chapters including security, integration, best practices, open source, and more.
(Book PDF Download)
The Application Server Matrix is a detailed listing of J2EE vendors and their application server products, with information on latest version numbers, J2EE spec support and licensing, pricing, platform support, and links to product downloads and reviews.
(Application Server Comparison Matrix)
|
|