|
JavaIntroductionJava technology is both a programming language and a platform. Today the platform itself has become the building block for many of the new languages. The Java programming language is a high-level language that can be characterized by all of the following buzzwords:
A platform is the hardware or software environment in which a program runs. We've already mentioned some of the most popular platforms like Microsoft Windows, Linux, Solaris OS, and Mac OS. Most platforms can be described as a combination of the operating system and underlying hardware. The Java platform differs from most other platforms in that it's a software-only platform that runs on top of other hardware-based platforms. Contribute ServicesWe have several years of experience in ADF development, starting from the JDeveloper 3.2.3 version and BC4J technology we have been evolving to ADF11g experts. We have done tens of projects in this technology and we have gained lots of knowledge, tips&tricks on this subject. But like every other framework ADF is not always the right choice. We do have people who are very fimiliar with frameworks like spring, hibernate, struts, ... together with their knowledge about the Oracle Database they are very valuable for companies. Lots of companies are workiing with an Oracle DB and a Java platform on top of it. We do believe we can offer them the best consultants and the best solutions for their projects. Contribute4J has been started to even deliver a better service on java/oracle technologies.
TechnologiesSpring Spring is a layered Java/J2EE application platform, based on code published in Expert One-on-One J2EE Design and Development by Rod Johnson (Wrox, 2002). Spring includes:
You can use all of Spring's functionality in any J2EE server, and most of it also in non-managed environments. A central focus of Spring is to allow for reusable business and data access objects that are not tied to specific J2EE services. Such objects can be reused across J2EE environments (web or EJB), standalone applications, test environments, etc without any hassle. Spring's layered architecture gives you a lot of flexibility. All its functionality builds on lower levels. So you can e.g. use the JavaBeans configuration management without using the MVC framework or AOP support. But if you use the web MVC framework or AOP support, you'll find they build on the core Spring configuration, so you can apply your knowledge about it immediately. Hibernate/JPA Hibernate's goal is to relieve the developer from 95 percent of common data persistence related programming tasks, compared to manual coding with SQL and the JDBC API. Hibernate Core for Java generates SQL for you, relieves you from manual JDBC result set handling and object conversion, and keeps your application portable to all SQL databases. Hibernate provides transparent persistence, the only requirement for a persistent class is a no-argument constructor. You don't even need classes, you can also persist a model using Maps of Maps, or just about anything else. You don't even need tables, Hibernate can map entities and particular properties to SQL expressions. Hibernate offers sophisticated query options, you can write plain SQL, object-oriented HQL (Hibernate Query Language), or create programatic Criteria and Example queries. Hibernate can optimize object loading all the time, with various fetching and caching options. Hibernate adapts to your development process, no matter if you start with a design from scratch or work with an existing database, and it will support any application architecture. Combined with Hibernate EntityManager and Hibernate Annotations you can use Hibernate as a certified Java Persistence provider. GRAILS Grails is a high-productivity web framework based on the Groovy language that embraces the coding by convention paradigm, but is designed specifically for the Java platform.
JSF Developed through the Java Community Process under JSR - 314, JavaServer Faces technology establishes the standard for building server-side user interfaces. With the contributions of the expert group, the JavaServer Faces APIs are being designed so that they can be leveraged by tools that will make web application development even easier. Several respected tools vendors were members of the JSR-314 expert group, which developed the JavaServer Faces 1.0 specification. These vendors are committed to supporting the JavaServer Faces technology in their tools, thus promoting the adoption of the JavaServer Faces technology standard. ADF Oracle ADF is a flexible framework which makes it much easier for the JEE developer to develop applications. Furthermore, Oracle ADF also makes use of a declarative approach which makes it possible to come to high quality solutions by way of wizards. The whole package therefore offers both a saving in time as well as an increase in quality ! JDeveloper and ADF are especially intended to optimize productivity of the developer. This occurs through giving the developer complete freedom in his/her choice of the technology to be employed. He/she is therefore not obligated to use one specific technology, style, platform and/or tool (IDE). JEE Java Platform, Enterprise Edition or Java EE is a widely used platform for server programming in the Java programming language. The Java platform (Enterprise Edition) differs from the Java Standard Edition Platform (Java SE) in that it adds libraries which provide functionality to deploy fault-tolerant, distributed, multi-tier Java software, based largely on modular components running on an application server. Java EE is defined by its specification. As with other Java Community Process specifications, providers must meet certain conformance requirements in order to declare their products as Java EE compliant. Java EE includes several API specifications, such as JDBC, RMI, e-mail, JMS, web services, XML, etc, and defines how to coordinate them. Java EE also features some specifications unique to Java EE for components. These include Enterprise JavaBeans, Connectors, servlets, portlets (following the Java Portlet specification), JavaServer Pages and several web service technologies. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. A Java EE application server can handle transactions, security, scalability, concurrency and management of the components that are deployed to it, in order to enable developers to concentrate more on the business logic of the components rather than on infrastructure and integration tasks. Maven Maven's primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal there are several areas of concern that Maven attempts to deal with:
Ant Ant is a Java-based build tool. In theory, it is kind of like Make, without Make's wrinkles and with the full portability of pure Java code. Hudson Hudson monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Hudson focuses on the following two jobs:
Nexus Nexus manages software "artifacts" required for development, deployment, and provisioning. If you develop software, Nexus can help you share those artifacts with other developers and end-users. Maven’s central repository has always served as a great convenience for users of Maven, but it has always been recommended to maintain your own repositories to ensure stability within your organization. Nexus greatly simplifies the maintenance of your own internal repositories and access to external repositories. With Nexus you can completely control access to, and deployment of, every artifact in your organization from a single location. Now you can setup a Maven Repository in just minutes with Nexus. ToolsEclipse Eclipse is an open source community, whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle. The Eclipse Foundation is a not-for-profit, member supported corporation that hosts the Eclipse projects and helps cultivate both an open source community and an ecosystem of complementary products and services. JDeveloper Oracle JDeveloper is a free integrated development environment that simplifies the development of Java-based SOA applications and user interfaces with support for the full development life cycle. Netbeans The NetBeans IDE is an award-winning integrated development environment available for Windows, Mac, Linux, and Solaris. The NetBeans project consists of an open-source IDE and an application platform that enable developers to rapidly create web, enterprise, desktop, and mobile applications using the Java platform, as well as JavaFX, PHP, JavaScript and Ajax, Ruby and Ruby on Rails, Groovy and Grails, and C/C++. IntelliJ IntelliJ IDEA is a code-centric IDE focused on developer productivity. IntelliJ IDEA deeply understands your code and gives you a set of powerful tools without imposing any particular workflow or project structure. IntelliJ IDEA is your dream pair-programmer who knows its way around the codebase, makes great suggestions right when you need them, and is always ready to help you shape your code. Oracle InfoMore info about Oracle Java Developer
|
|