Sunday, 21 January 2018, 11:53 AM
Site: KW Foundation | Campus
Course: KW Foundation | Campus (KWSN | KW Foundation Social Network & Campus)
Glossary: Glosario KW | KW Glossary
Picture of System Administrator


by System Administrator - Thursday, 2 May 2013, 9:43 PM
Picture of System Administrator


by System Administrator - Thursday, 2 May 2013, 7:32 PM
Picture of System Administrator


by System Administrator - Thursday, 2 May 2013, 10:22 PM



J2EEJavaJavascriptJefe de CorreosJob BoardJPGJPGEJunk Mail.


=> J2EE: Acrónimo de las palabras inglesas: Java 2 Platform Enterprise Edition. Conjunto de normas basadas en el lenguaje de programación Java que afectan a las plataformas de negocios electrónicos para empresas o servidores de aplicaciones.

=> Java: Lenguaje de programación multiplataforma desarrollado por la empresa Sun Microsystems. Debido a que los programas basados en Java funcionan bajo cualquier procesador son los ideales para ser distribuidos por internet. Más información en:

=> Javascript: Lenguaje de programación desarrollado por Netscape y Sun especializado en controlar procesos en navegadores web.

=> Jefe de Correos: Responsable en una red corporativa de gestionar el servidor de correo electrónico. Es quien (de un modo automático en la mayoría de los casos) responde a un mensaje de correo que se envía a una persona que ya no trabaja en determinada empresa. En inglés: PostMaster.

=> Job Board: En el argot del inglés define a un sitio web dedicado a la búsqueda de empleo. Este puede ser generalista, o especializado bien por área geográfica bien por sector de actividad. Sirva por ejemplo el sitio web del Servicio Valenciano de Empleo.

=> JPG: Extensión de un archivo gráfico comprimido. Es el de mayor uso en internet.

=> JPGE: Siglas de las palabras inglesas: Joint Photografic Expert Group. Nombre original del comité que se encargó de diseñar un estándar para la compresión de imágenes.

=> Junk Mail: Propaganda no solicitada, correo basura. Otra forma de denominar al spam, sin recurrir al argot en el propio inglés.

Picture of System Administrator


by System Administrator - Wednesday, 10 July 2013, 7:30 PM
  • Jabber - Jabber is an initiative to produce an open source, XML-based inst...
  • Jikes - Jikes is an open source Java compiler from IBM that adheres strictl...
Picture of System Administrator


by System Administrator - Thursday, 9 May 2013, 2:30 AM
  • Juicio de expertos: Es un  criterio que se otorga fundamentado en la experiencia dentro de un área de  aplicación, área de conocimiento, disciplina, industria, entre otras.
  • Junta de arranque: Es la primera reunión entre el project manager, su equipo de proyectos, el cliente, sponsor y otros stakeholders, la cual tiene como objetivo dar el inicio oficial de un proyecto.
Picture of System Administrator


by System Administrator - Thursday, 11 July 2013, 6:08 PM
Picture of System Administrator


by System Administrator - Saturday, 1 June 2013, 3:15 PM
  • Java Message Service - an application program interface from Sun Microsystems that supports the formal communication known as messaging between computers in a network.
  • Java Database Connectivity (JDBC) - an application program interface for connecting programs written in Java to the data in popular databases.
  • JNDI (Java Naming and Directory Interface) - enables Java platform-based applications to access multiple naming and directory services in a distributed network.
Picture of System Administrator

Java 8 vs. .NET

by System Administrator - Friday, 3 March 2017, 2:59 PM

Functional programming in Java 8 vs. .NET: What you need to know

by Tom Nolle

The 'which is better' debate over .NET and Java has been going on forever. Expert Tom Nolle weighs in on which is the better choice if your goal is functional programming.

Probably the most enduring and multifaceted debate in all of software development is whether the Java or Microsoft .NET platforms and ecosystems are best. Both have enthusiastic and loyal supporters, but there's also a large, uncommitted community that could swing the balance decisively.

Every time something new comes along, it presents an opportunity for such a swing, and functional programming is no different. Is functional programming in Java 8 better than .NET, or the other way around?

Modularity and composability are the goals of all modern software design. Historically, they've been achieved using object-oriented or service-oriented programming, where functions are built as independent components and composed using specified interfaces and rules. Complex functions would necessarily have complex interrelationships, making open composition difficult.

Start by doing the math

Functional programming in Java 8 or anything else is an almost-mathematical approach to the problem, where logic is built by assembling functions built, so the input to one is always the output of another. Variables are immutable, and only a function can provide a variable result. Essentially, logic is a function pipeline built from what are called lambda expressions.  The concept has been around in various forms for decades, but it's becoming more popular as modularity and composability become more and more important. Functional programming in Java 8 is supported, and so .NET programmers want to know how they can adopt the model.

Is functional programming in Java 8 better than .NET, or the other way around?

There are two basic paths to functional programming in .NET: Programmers can use C# and evolving features to support lambda functions, or they can use the open source functional language Microsoft announced in 2010 -- F#.  Most users of F# say they also use C#. And, in many cases, they use it within the same application. Many programmers try to stay with C# if they're familiar with it, but most who have made the transition to F# would agree it's the better choice. And it's wise to assume if you're going to do .NET functional programming, you're going to do it in F#.

For Java users, particularly those focusing on functional programming in Java 8 with all of its advances, the C# path is the most comparable. You can write functional code in C# and use constructs that enforce some of the key behaviors of functional programming -- like immutable variables and statelessness -- but you can also write object-oriented programming or imperative programs. This is comparable to Java 8's approach.

Learn about F#

F# is different, because it's one of the few languages that is designed for functional programming alone.  Most F# users admit the learning curve is a bit steep, but once you're over it, you can write better functional programs faster -- better than C# and better than Java 8. F# is also, arguably, the only commercial language for functional programming; the other options are more commonly used in academic environments.

The primary benefit its commercial bend gives F#, versus other functional languages, is its combination of easy integration and functional purity. You can access all of the .NET libraries, and also Java libraries that have been compiled to .NET -- a fairly straightforward task. But, at the same time, F# enforces functional and lambda purity in coding practices and generates more readable code. As a member of the .NET family, you can compile F# units and then use them in any of the other .NET languages, so there's no loss of .NET functionality or integrability. This is why .NET users are increasingly turning to F# for functional development; the transition is easy.

Understanding functional-friendly data structures and immutability of variables in F# is critical, and that concept can be hard to grasp for C# or Java programmers. Data structures are one of the few things that are harder in F#, which means not only that it will make a transition harder, but it might create temptation to move back to an object-oriented imperative model. It's wise to read up on functional data structures and the substitution of functions for mutable variables before you even dig deeply into F#, or you may find the framework of functional programming difficult. Simple "Hello, World" applications don't expose enough of the functional approach to be helpful. Look for samples of complex data structures, including mathematical structures.

There are no specific named classes in functional programming in Java 8 or elsewhere, and functional elements of an application should be clearly identified to prevent confusion or contamination. That means organizing your code is critical, especially in larger projects. Functional .NET programs should always be packaged and named to make the implementation language and target architecture -- F#, pure .NET -- clear. Consider reviewing the guidelines from the F# Core Engineering Group for your own projects to ensure readability of your package names. Readability of functional code is also enhanced by using consistent indenting to make function elements stand out.

Think microservices

While .NET functional programming has many integration advantages, many .NET developers struggle in relating functional programming to their broader applications, particularly web-based applications.  Functional programs are stateless, which means they aren't as useful as interfaces to GUI processes, where it's customary for the application to retain state to support multiphase dialogs. One technique to consider in helping this process along is to think of functional elements as microservices.  Microservices best practice would dictate that microservices are stateless and quite functional in nature, and functional programming in Java 8 or any other language mandates stateless components by design.

For .NET users committed to Azure, Microsoft supports functional programming as a web service, using its Functions product, and its focus is to handle event-driven elements of an application. The microservice thinking just recommended may help developers use Azure Functions to extend current logic, and even to extend Azure Functions with functional components in the data center. The benefits of Functions in event-handling are also a good primer on an important application of functional programming.

The Azure connection also demonstrates that functional programming is a natural partner to the cloud, and that may be the biggest reason why .NET users should be thinking about it. If your company believes in cloud computing, and if you still do in-house or even contract software development, then you should be taking a strong look at functional programming and the Microsoft-sanctioned tools, like F#, that support it.

Next Steps


Picture of System Administrator

Java SE 9 and Java EE

by System Administrator - Saturday, 23 September 2017, 9:24 PM

Things are *definitely* changing

Java SE 9 and Java EE 8 are here

by  Gabriela Motroc

Oracle has just announced the general availability of Java SE 9, Java EE 8 and the Java EE 8 Software Development Kit (SDK). From now on, it’s all about faster releases and more open source engagement.

Things are definitely changing in the Java universe. After today’s releases, there will be two Java feature releases per year (so no need to wait years until the next version is out) and Java EE is moving to the Eclipse Foundation (and changing its name). Let’s enjoy the release of Java SE 9 and Java EE 8 though.

You can download Java SE 9 here and Java EE 8 here. And here is the official announcement.

Java SE 9

Java SE 9 has over 150 new features to offer, including a new module system and quite a few improvements which promise to bring boosted security, more scalability and better performance management.

The star of the release is, of course, the Java Platform Module System, also known as Project Jigsaw. Its goal is to help developers to reliably assemble and maintain sophisticated applications. Furthermore, developers can bundle only the parts of the JDK that are needed to run an application when deploying to the cloud so one could say that the module system also makes the JDK itself more flexible.

If you want to hear what experts think of the Java Platform Module System, here are a couple of statements:

The Java Platform Module System (JPMS) is not perfect, but it has reached a point where it is worth releasing. Most developers can continue to use the classpath, and be unaffected by the module changes.

Stephen Colebourne


For the long term, it’s a great boost to the Java Runtime Environment and hence the Java ecosystem. Imagine being able to build your application and its runtime environment in a modular format. Then, your customer can deploy it right off the bat without having to worry about the JDK version or the footprint.

Monica Beckwith

For the full list of features, visit this page. If you want to read more about other key features such as jshell, improved Javadoc and Streams API enhancements, read this article

If you don’t want to dive into the modular ecosystem right away, you should know that it is possible to get started on JDK 9 without modules. As Georges Saab, vice president of development for the Java Platform Group at Oracle told us a few months ago, “the class path continues to work, and this is how many developers will likely get started with JDK 9.”

SEE ALSO: Java 9 modules – JPMS basics

Moving to a 6-month release cadence

Oracle recently announced that they are planning to move to a 6-month release cadence using a time driven release model. Mark Reinhold, the Chief Architect of the Java Platform Group at Oracle, proposed that the Java SE Platform and the JDK go from “the historical feature-driven release model to a strict, time-based model with a new feature release every six months, update releases every quarter, and a long-term support release every three years.”

SEE ALSO JDK 9: Pitfalls for the unwary

Post – Java 9 plans

  • Feature releases can contain any type of feature, including not just new and improved APIs but also language and JVM features. New features will be merged only when they’re nearly finished, so that the release currently in development is feature-complete at all times. Feature releases will ship in March and September of each year, starting in March of 2018.
  • Update releases will be strictly limited to fixes of security issues, regressions, and bugs in newer features. Each feature release will receive two updates before the next feature release. Update releases will ship quarterly in January, April, July, and October, as they do today.
  • Every three years, starting in September of 2018, the feature release will be a long-term support release. Updates will be available for at least three years and quite possibly longer, depending upon your vendor.

Oracle will also be providing OpenJDK builds under the General Public License (GPL). Furthermore, they will continue to contribute previously commercial features to OpenJDK [*cough* Java Flight Recorder *cough*] in Oracle JDK in order to make Oracle JDK and OpenJDK more aligned.

We talked with Donald Smith, Senior Director of Product Management for Java SE at Oracle about the transition between OpenJDK and Oracle JDK binaries. Read the entire interview here

Our intent is that transitioning between OpenJDK and Oracle JDK binaries should be seamless, and that implies there should be no feature differences at all.  Although it would be exciting to offer a list of projects we would like to include, we want to do so through the normal OpenJDK processes by discussing with other potential contributors first.

Donald Smith

If you want to meet Donald Smith and find out more about the current status of Java EE, don’t miss his keynote at JAX London. Donald will give a quick overview of how OpenJDK plays a key role in the Java SE ecosystem, followed by details of the proposed plan and its current status.The keynote will be followed by a panel whereby the two key proposals – increased cadence and Oracle produced OpenJDK builds – will be discussed for pros and potential gotchas. Panelists include Daniel Bryant, Stephen Colebourne and Peter Lawrey.

Java EE 8

One of the reasons why the release of Java EE 8 is special has to do with its future — from now on, it will function under the stewardship of the Eclipse Foundation. Oracle, Eclipse and other community members are currently working out the details behind the technology transfer and ongoing governance and process within the Eclipse community.

Mike Lehmann, vice president of product management at Oracle said that “by open sourcing Java EE technologies to the Eclipse Foundation, we have set it up for ongoing success in the future. Oracle is committed to working with the Java EE community and the Eclipse Foundation to continue enterprise Java innovation, support and evolution.”

SEE ALSO: Java EE set to start a new journey: Where is it leading?

Oracle intends to:

  • Relicense Oracle-led Java EE technologies, and related GlassFish technologies, to the foundation. This would include RIs, TCKs, and associated project documentation.
  • Demonstrate the ability to build a compatible implementation, using foundation sources, that passes existing Java EE 8 TCKs.
  • Define a branding strategy for the platform within the foundation, including a new name for Java EE to be determined. Oracle intends to enable use of existing javax package names and component specification names for existing JSRs to provide continuity.
  • Define a process by which existing specifications can evolve, and new specifications can be included in the platform.
  • Recruit and enable developers and other community members, as well as vendors, to sponsor platform technologies, and bring the platform forward within the foundation. This would include potential incorporation of Eclipse MicroProfile technologies into the platform.
  • Begin doing the above as soon as possible after completion of Java EE 8 to facilitate a rapid transition.

Some of the key features in Java EE 8 are, HTTP/2 support in Servlet 4.0, new JSON binding API and various enhancements in JSON-P 1.1, expansion of JAX-RS to support Server-Sent Events and a new reactive client API, new security API for cloud and PaaS based applications and multiple CDI enhancements including support for asynchronous events.

For a full list of features included in Java EE 8, visit this page.

If you want to read more about the future of Java EE, don’t miss this interview series with Ivar Grimstad, Martijn Verburg, Reza Rahman and Josh Juneau.