Wednesday, December 22, 2010

More on SIwpas Console...

Hello,

We are actively developing SIwpas console. It provides cool features, for example "OpenEJB" pool statistics and application operations are two of them.

Below are the screenshots from SIwpas console,

EJB Pools,


Applications controls

Thursday, December 9, 2010

The ASF Resigns From the JCP Executive Committee

Hi folks,

Apache Software Foundation has resigned from Java Commnunity Process (JCP) Executive Committee.

You can get further information from http://s.apache.org/P12

Have a nice day!

Wednesday, December 8, 2010

SIwpas Cool Console is Coming....

Hey folks,

We have been developing very cool SIwpas Administration Console. It will be available on 1.0.0 release at the end of December.

Below are 2 screenshots;

LOGIN PAGE






MAIN PAGE


Cool ha,

Thursday, December 2, 2010

Building SIwpas

We have committed BUILD document into the trunk. It expains how to build usabe SIwpas distribution using current release of Tomcat.

Checkout http://siwpas.googlecode.com/svn/trunk/

Also, we have checked in all source code of SIwpas including EJB lite  version. If you wish to help us on any issues/features, you are more than welcome! You may be the next committer of SIwpas, next generation  lightweight web server

Enjoy!

Wednesday, December 1, 2010

SIwpas Getting Closer to 1.0.0 GA

Hi,

We are getting close to SIwpas 1.0.0 GA release. We have been working very hard to release SIwpas at the end of December.

SIwpas Promise

SIwpas will not be bloated with  technologies when it grows and matures. For example, lots of frameworks or servers have been launched as a lightweight but lots of them have swelled because of adding new stack of library with every new release.

SIwpas will be remain as lightweight web server that contains only the following technologies
  • Servlet and JSP
  • EJB Lite
  • CDI
It means that there will be no support for the following technologies
  • Web Services
  • Remote EJBs and other heavy level EJB concepts
  • Java Messaging Service
  • CORBA
  • etc...
If you wish to use such technologies, give up SIwpas and use other well known Java EE application servers like Apache Geronimo, JBoss, Jonas etc.

Enjoy!

Friday, November 5, 2010

MechSoft Launches Apache Enterprise Java EE Projects Support Program

We have launched the "Apache Enterprise Java EE Projects Support Program".

MechSoft architects have a deep knowledge of ASF Java EE Projects at the source code level. Therefore, we are the most trusted open source technical support company in the world. We offer two differents subscription packages for our customers, “Basic Level Subscription” and “Enterprise Level Subscription”. 

What We Offer to Our Customers 
  • Products Update
  • Security Patches
  • Technical Support
  • Custom Developments/Extra Feature Implementation
  • Development Support
Subscription Types

We have two types of subscription packages,
  • Basic Subscription, is the perfect fit for the non-mission critical applications.
  • Enterprise Subscription , is the exact choice for the customers who require 24x7 support for their mission critical applications. 
For more information visit the Subscription Guide Page

You can directly download subscription guide document from http://tiny.cc/0xev4

Enjoy!

SIwpas 24x7 Production Support

Would you like to use simple, powerfull and lightweight SIwpas application server? MechSoft provides all consultancy to migrate your applications to SIwpas.

See http://mechsoft.com.tr/Mechsoft/software/en/acikkaynak/siwpasfiyat.html for our price information. Those prices may more cheaper than lots of SIwpas alternative application servers!

Try SIwpas today! Download it from http://code.google.com/p/siwpas/downloads/list

Mail us to get more detailed information, yg@mechsoft.com.tr

24x7 Java and Java EE Support

Hey,

Would you like to get support on Java and Java EE based on 24x7. MechSoft provides great enterprise support packages for their customers.

More information, http://mechsoft.com.tr/Mechsoft/software/en/destek/index.html

You could mail to yg@mechsoft.com.tr to get more detailed and price information...

Thursday, November 4, 2010

Would You Like to Change EAR to WAR to Use SIwpas?

Hey,

You want to use SIwpas but do not know how to change or translate your EAR archives to WAR archives. Do not worry! We could definitely help you!

Post an e-mail to us about your situation, and how we could help you!

Email address is yg@mechsoft.com.tr

Thanks;

Wednesday, November 3, 2010

SIwpas CR5 is Fully Compatible with CDI Web Profile TCK

 As you may already know, we have just released CR5 of SIwpas, lightweight web application server.  CR5 has been passed  "JSR-299 CDI Web Profile TCK"  version 1.0.1-Final unoffically. Beauty is that CDI TCK has been developing under an open source license (Apache Software License V2) and usage is a free of charge. I wish all of the Java EE TCKs are free but not! Therefore we can easily test SIwpas against JSR-299 Web Profile TCK.
Below, you can find several steps that explain how to run SIwpas against CDI Web Profile TCK.

How Could I run CDI Web Profile TCK  against SIwpas?
SIwpas is an open source project. All of the source code are located in http://siwpas.googlecode.com/svn/trunk/
Steps to run CDI Web Profile TCK :
  1. Download SIwpas CR5 from http://code.google.com/p/siwpas/downloads/list
  2. Open SIwpas CR5 into "SiwpasCR5" folder
  3. Get SIwpas source code from trunk, (svn checkout http://siwpas.googlecode.com/svn/trunk/ siwpas )
  4. Go into siwpas/siwpas-cditck
  5. Copy siwpas-cditck/config/catalina.sh into SiwpasCR5/bin/.
  6. Copy siwpas-cditck/config/tomcat-users.xml into SiwpasCR5/config/.
  7. Start SIwpas, (bin/catalina.sh start)
  8. Run "mvn clean install" in the root of siwpas
  9. Run "mvn clean test -Ptck" in siwpas-cditck folder
  10. Stop SIwpas, (bin/catalina.sh stop)
If everthing is ok, you are going to see the following messages on the screen after test has been run

Results :
Tests run: 636, Failures: 0, Errors: 0, Skipped: 0


So what ?  SIwpas has passed current CDI Web Profile TCK.Internally SIwpas uses Apache OpenWebBeans (http://openwebbeans.apache.org) project for supporting the core feautes of CDI specification.

Cool ha!

What does it mean?
It means that your next CDI application will run on any application server that has passed CDI Web Profile TCK :) No need to change any line of code... Promise of Java EE standards.

MechSoft will give 24x7 support on using SIwpas. Look at http://tiny.cc/k03fn for more information or send mail to yg@mechsoft.com.tr

Enjoy!

Tuesday, November 2, 2010

SIwpas, Java EE Web Profile Compatible Server CR5 Has Released

What is SIwpas?
SIwpas aim is to integrate Apache Software Foundation(ASF) JavaTM Platform,· Enterprise Edition 6 (Java EE 6) Web Profile Specification related projects· for producing a Java EE 6 Web Profile compatible server.To produce fully Java EE 6· Web Profile compatible container implementation, we have written unimplemented· features of those requirements that are imposed by Java EE 6 specification. Moreover, we have written integration module that integrates those projects to work with each other correctly.

If there is no compatible implementation of the required specification in ASF,· we use open source implementation that has been developed elsewhere. SIwpas is licensed under the ASL-2.0 (Apache License Version 2.0).

*NOTE* : Currently, SIwpas is not a certified Java EE Web Profile Server.·When we say compatible it means that it contains technologies that are·listed in Java EE Web Profile Specification. It does not mean that it has·passed Java EE Web Profile TCK suite. Certification is under our radar!

Release Notes for CR5
You can read Release Notes of CR5 from README_CR5

Project Information
Project Home Page : http://code.google.com/p/siwpas/
Download Location : http://code.google.com/p/siwpas/wiki/Downloads?tm=2

SIwpas Team,

Enjoy!

Thursday, October 21, 2010

Tuesday, October 19, 2010

Azul Systems Announces Zing™ Platform GA Availability

From announcement,
"Azul Systems®, the award-winning Java platform provider, today announced the general availability of Zing™, the first elastic runtime platform for Java applications. Zing is a highly scalable, low latency Java runtime platform designed to improve application throughput, availability, and manageability, while also enhancing infrastructure and operational efficiency.

It is a versatile platform for deploying Java applications of all sizes and configurations, and is especially suited for high volume applications where response times are important such as Web portals, trading platforms and e-commerce websites. Zing is also the only Java runtime platform specifically designed and optimized for virtualized and cloud environments."


For full press release, see http://tiny.cc/tfizz

Apache OpenWebBeans 1.0.0 Has Released

The Apache OpenWebBeans Team is proud to announce the final release of Apache OpenWebBeans 1.0.0.

Apache OpenWebBeans is an implementation of the Apache License v2 licensed JSR-299 "Context and Dependency Injection for Java" and JSR-330 "atinject". OpenWebBeans has a modular structure and provides Dependency Injection scaling from Java SE environments up to EE6 servers with complicated ClassLoader hierarchies.

1.0.0 implements the latest API, passes the JSR-330 TCK and the JSR-299 standalone TCK.

The release can be downloaded from

http://www.apache.org/dyn/closer.cgi/openwebbeans/1.0.0/
http://www.apache.org/dist/openwebbeans/1.0.0/


The Apache OpenWebBeans Team

Tuesday, October 12, 2010

CDI (Context and Dependency Injection) and Apache OpenWebBeans Training

Hello folks;

I am planning to give JSR-299 (Context and Dependency Injection for Java EE Platform) and Apache OpenWebBeans online training.

Training content is
  • Introduction to Java EE 6 Platform
  • CDI Architecture
  • CDI Definitons and Concepts
  • CDI Programming Model
  • CDI Bean Inheritance and Specialization
  • CDI Injection Mechanism
  • Using CDI with EL in JSF
  • CDI Bean Lifecycles
  • CDI Decorators and Interceptors
  • CDI Loosely Coupled Event Models
  • Writing CDI Portable Extensions
  • CDI Packaging and Deployment Model
  • Introduction to Apache OpenWebBeans
  • Using Apache OpenWebBeans in Web Applications
  • Using Apache OpenWebBeans with OpenEJB
  • Samples and Examples
Training will take 2 days.

We have been getting pre-registration for online training.

You could register for the training from
http://mechsoft.com.tr/Mechsoft/software/en/onkayit.html

Monday, October 11, 2010

Introduction to SIwpas, Java EE Compatible Web Profile Server

SIwpas, Simple Web Profile Application Server provides runtime for "Java EE 6.0 Web Profile" platform.SIwpas is licensed under an ASL.

What is Java EE Web Profile?
According to the web profile specification, web profile container must support following technologies,
  • Servlet 3.0
  • JavaServer Pages (JSP) 2.2
  • Expression Language (EL) 2.2
  • Debugging Support for Other Languages (JSR-45) 1.0
  • Standard Tag Library for JavaServer Pages (JSTL) 1.2
  • JavaServer Faces (JSF) 2.0
  • Common Annotations for theJava Platform (JSR-250) 1.1
  • Enterprise JavaBeans (EJB) 3.1 Lite
  • Java Transaction API (JTA) 1.1
  • Java Persistence API (JPA) 2.0
  • Bean Validation 1.0
  • Managed Beans 1.0
  • Interceptors 1.1
  • Contexts and Dependency Injection for the Java EE Platform 1.0
  • Dependency Injection for Java 1.0 
SIwpas supports all of the above technologies to provide Java EE Web Profile compatible runtime. It is implemented based on "Apache Tomcat 7 Servlet & JSP container" and several Apache Software Foundation Java EE projects.

You could download and get more information from the JCP Page of the specification: JSR 316: JavaTM Platform, Enterprise Edition 6 (Java EE 6) Specification,
http://jcp.org/en/jsr/detail?id=316

SIwpas Features

Using EJB 3.1 Features in WAR

Java EE Web Profile enables you to use "EJB 3.1" features embedded directly in your Java EE Web components. You can use following EJB 3.1 features directly
in your web application/s.
  • @Stateless, @Stateful and @Singleton EJB components,
  • @Local, @LocalBean (no interface) client views of EJB components,
  • Transaction, Interceptor, Security container services.
EJB components share same JNDI context with web application that they are deployed into. It means that  EJB components can lookup any references from web application jndi context. You can also use EJB portable global jndi names to inject EJB components into your web components. Global jndi names are portable. It means that you are not required to change jndi names of your context lookups in other Java EE containers.

For example, you can lookup EJB component's proxies from JNDI context like,
 
01.InitialContext context = new InitialContext();
02. 
03.//Looking up from global jndi context
04.context.lookup("java:global/module_name/bean_name")
05.context.lookup("java:global/module_name/bean_name!Interface Name")
06. 
07.//Looking up from application jndi context
08.context.lookup("java:app/module_name/bean_name");
09.context.lookup("java:app/module_name/bean_name!Interface Name")
10. 
11.//Looking up from module jndi context
12.context.lookup("java:module/bean_name")
13.context.lookup("java:module/bean_name!Interface Name")

Module name is your web application name. Bean name is EJB component name. Interface name is name of the interface that EJB component implements.
Web components  are able to inject EJB components using "CDI (Context and Dependency Injection)" technology or directly using "@EJB" annotation.

For example, you can use EJB components as "JSF managed beans" or inject them as business services into POJO based JSF managed beans.
Example: Using EJB component as managed beans
 
01.@Stateless
02.@LocalBean
03.@Named("paymentService")
04.@RequestScoped
05.public class PaymentService{
06.    
07.   public String pay(){
08.       .......
09.   }
10. 
11.}

OR
inject EJB into POJO based managed bean,
 
01.@Named("paymentService")
02.public class PaymentBean{
03. 
04.    //Injection using CDI
05.    @Inject PaymentService paymentService;
06. 
07.    //Injection using @EJB
08.    @EJB PaymentService paymentService;
09. 
10.    public String pay(){
11.        paymentService.pay();
12.    }
13.}
 
Using CDI Features in WAR
SIwpas fully supports JSR-299 specification via Apache OpenWebBeans project. Moreover, you can use JSR-299 based interceptors and decorators for EJB components.
You can inject EJB components into CDI Beans and vice-versa.

Moreover, SIwpas supports for injecting the following resources into your CDI Beans
  • @Resource annotation to inject : DataSource, UserTransaction, ValidatorFactory, Validator, TransactionManager, TransactionSynchronizationRegistry, ORB
  • @EJB annotation to inject EJB components,
You can also use JSR-299 based interceptors and decorators for your EJB components.
Example:
01.@Interceptor @PaymentLog
02.public PaymentInterceptor{
03. 
04.    @AroundInvoke
05.    public Object beforePayment(InvocationContext ctx) throws Exception{
06.         logger.log(....);
07.         return ctx.proceed();
08.    }
09.}
10. 
11.@Stateless
12.public class PaymentService implements IPaymentService{
13. 
14.   @PaymentLog
15.   public void pay(...){
16.       ...
17.   }
18.}

 Here, @PaymentLog is an interceptor binding. It binds "PaymentInterceptor" to PaymentService pay() method.
You can also use Decorators for EJB components. It is enough to declare decorator class that also implements EJB component client interface.
 
01.@Decorator
02.public PaymentDecorator implements IPaymentService{
03.  private @Inject @Delegate IPaymentService paymentService;
04. 
05.  public void pay(...){
06.     //Any business operation you want to do before actual paymentService
07.     System.out.println(.....);
08.       
09.     //Actual business method execution
10.     this.paymentService.pay(...);
11.  }
12.}
You do not forget to add interceptor & decorator definitions into your "beans.xml" for enabling them.

SIwpas Other Features
Lots of cool and new features are provided with Java EE 6 platform. SIwpas supports all of them.

For example,
  • @DataSourceDefinitions and @DataSourceDefinition annotation support,
  • @Resource(lookup="lookup name") annotation support,
  • @ManagedBean annotation support for POJOs,
  • Servlet 3.0 features, like @WebServlet, @WebListener for defining servlets and listeners,
  • EL 2.2 features,
  • And more...
Future of SIwpas
We will provide a cool "SIwpas Console" to manage and introspect internals of SIwpas application server. Our aim is to implement SIwpas console using JSF 2. It will enable you to configure and manage every aspects of SIwpas, such as, EJB container configuration, listing jndi entries, deploy/undeploy applications, performance charts, protocol configuration and much more.

As you have already know that Oracle TCK's for  testing Java EE containers are not open source. Therefore, we do not know whether we will request certification from Oracle or not  for being compatible with Java EE Web Profile specification. If Oracle could provide us free TCK suite to test our application server, we could definitely use it :) I wish JCP and TCKs would be more open.

Sunday, October 10, 2010

SIwpas, Java EE Web Profile Compatible Server CR4 Has Released

Hello folks,

We have released our Java EE Web Profile Application Server CR4. There were some regression on CR3 therefore we have released CR4.

Check release documentation about new features from README_CR4

Please report your feedbacks! And what you want in CR5.

Download CR4 from DOWNLOAD section

Enjoy!

Thursday, September 30, 2010

SIwpas, Java EE Web Profile Compatible Server CR3 Has Released

Hello folks,

Finally we have released our Java EE Web Profile Application Server CR3. It contains lots of new features like "Using of @DataSourceDefinition","@Resource(lookup="")", "Full EJB 3.1 Lite Features" and more....

Check release documentation about new features from README_CR3

Please report your feedbacks! And what you want in CR4.

Download CR3 from DOWNLOAD section

Enjoy!

Monday, September 27, 2010

SIwpas CR3, Coming Soon....

SIwpas, Simple Web Profile Application Server CR-3 is coming soon... We will release it at the end of  this week!

What does it mean?
  • You can use EJB Lite features in your web project,
  • You can use CDI features in your web project,
  • It is very lightweight Java EE Web profile container,
  • It is free and distributed under ASL License, 
  • No upfront license fee,
  • It is supported by MechSoft Mechanical and Software Solutions,
  • It is powered by Apache Software Foundation Java EE Stack. Contains Apache OpenEJB, Apache OpenWebBeans, Apache OpenJPA and Apache Tomcat.
Stay tune!

Friday, September 24, 2010

Setup Enterprise DB on Pardus

Hello,

Pardus is a Linux based distribution that has been developing under TUBÄ°TAK-UEKAE, Turkey. If you have not tried it so far, you have really missed such a cool Linux distribution.

Today I have been struggling with setting up Enterprise DB into Pardus.

It is very easy to setup,
That is it!

Saturday, September 4, 2010

OpenWebBeans Alpha-2 Has Released

The Apache OpenWebBeans Team is proud to announce the release of

Apache OpenWebBeans 1.0.0-alpha-2

Apache OpenWebBeans is an implementation of JSR-299 "Context and Dependency Injection for Java" and JSR-330 "atinject". OpenWebBeans has a modular structure and provides Dependency Injection scaling from Java SE environments up to EE6 servers with complicated ClassLoader hierarchies.

1.0.0-alpha-2 implements the latest API, passes the JSR-330 TCK and almost passes the JSR-299 standalone TCK (still waiting for a few bugs in the TCK to get fixed).

The release can be downloaded from


The Apache OpenWebBeans Team

Wednesday, September 1, 2010

Thunderbird Mail Importing to ThunderBird

Le's say that your OS has crashed and you are lucky that you have backed up your mails and all of mail client settings. Indeed, your mail client is Mozilla Thunderbird.

Now, you install a new OS and want to import old mails and settings to the newly installed fresh Thunderbird. How?
  • Open thunderbird and close it
  • Go to /home_folder/.thunderbird
  • Remove already exist *.default profile folder
  • Add your back-up *.default profile folder
  • Update profile.ini file to show your new profile folder
  • Update prefs.js content in your profile folder
  • Open Thunderbird again
Enjoy!

Thursday, August 26, 2010

24X7 Apache OpenWebBeans Support

Hi;

Would you like to use JSR-299 Context and Dependency Injection for the Java EE Platform but your application server does not provide and support it currently.  Would you like to use Apache based open source implementation but your boss is wondering about professional support!?

MechSoft Solutions Group  provides professional support on Apache OpenWebBeans project in 24x7 manner. Apache OpenWebBeans works great from Tomcat to any other application server. It can be easily integrated into your next Java EE web application project.

Do not hesitate to contact with us from yg@mechsoft.com.tr

Saturday, August 21, 2010

SIwpas, Java EE Web Profile Compatible Server CR2 Has Released

What is SIwpas?
SIwpas aim is to integrate Apache Software Foundation(ASF) JavaTM Platform,
Enterprise Edition 6 (Java EE 6) Web Profile Specification related projects
into the Apache Tomcat 7 for becoming a Java EE 6 Web Profile Certified server.
If there is no compatible implementation of the required specification  in ASF,
we use open source implementation that has been developed elsewhere.

SIwpas is licensed under the ASL-2.0 (Apache License Version 2.0).

Release Content
In this release we have upgraded the components and fixed lots of bugs. Starting with this release, we begin to support EJB 3.1 Lite features fully. We have removed all other coarse grained features of the EJBs, like remote access, IIOP
support, message driven beans etc.

Now, you can use EJB session beans and other cool features  in your next Java EE Web project like any other POJOs but getting more benefits.

Thanks to Apache OpenEJB, next generation EJB container :)

Supporting EJB Lite Features
EJB 3.1 specification specifies the following items that any
EJB 3.1 Lite container must support,

  • Components: Stateless, Stateful,Singleton,
  • Session Bean Client Views : Local/No-Interfaces,
  • Service : Interceptors,Container Managed Transaction, Bean Managed Transaction,Declarative Security, Programmatic Security,
  • Misc : Embeddable API

Currently SIwpas supports all of them, but we need more work for becoming fully certified.

Dependency Injection

Starting with this release, you can inject JSR-299, (CDI) beans into EJB beans
and vice-versa. Moreover, you can inject Java EE resources into the JSR-299, (CDI)
beans.

More Samples

We have added more samples that show how to use SIwpas

Samples SVN Location : http://siwpas.googlecode.com/svn/trunk/samples/
You can get more information about SIwpas from our project page.

Project Web Page
http://code.google.com/p/siwpas/

Project Issue Page
http://code.google.com/p/siwpas/issues/list
 
Download Location
http://code.google.com/p/siwpas/downloads/list

SIwpas Team,

Enjoy!

Thursday, August 12, 2010

Defne New Feature : Asynchronous Messaging Framework

Hello,

Defne platform has implemented an Asynchronous Messaging Framework that ease the development of asynchronous messaging applications, specifically JMS.

See my article, http://tiny.cc/uj43c

Monday, August 2, 2010

Thursday, July 29, 2010

24X7 Apache Project Support

Hello;

MechSoft Solutions Group has started to give 24x7 support on Apache Software Foundation Java EE enterprise related Projects, such as

  • Apache MyFaces,
  • Apache OpenJPA
  • Apache OpenEJB
  • Apache Tomcat
  • Apache OpenWebBeans
  • ....
Please do not hesitate to contact with us for further details how we work together!

Contact : MechSoft Contact Addres

Wednesday, July 28, 2010

MechSoft Has Started Web-Ex Java EE Trainings

MechSoft Software Solution Group (http://tiny.cc/spf58) has started to give Java EE trainings using Web-Ex virtual class environments.

Training Topics
  • Java Programming Language
  • Java Swing
  • Java EE Web Techonlogies
  • Java EE Middlware Techonlogies
  • Apache Tomcat
Get further information from http://tiny.cc/v0ke1 .

Pre-Registration: If you wish to pariticipate on any of the above trainings, you can register with pre-registration form, http://tiny.cc/4ls44

Wednesday, July 14, 2010

Calling Defne Services from AJAX Clients

Hello,

Defne has added AJAX Client support for providing services to pure JavaScript AJAX clients.

How It Works?

We have implemented a DefneJsonServlet that handles the communication with AJAX clients. It gets all related service parameters from the AJAX client, prepare service message and calls service.

Example

Please have a look SVN site, http://tiny.cc/lcusn

Defne Maven Snapshots:

We have published Defne maven snapshots to http://tiny.cc/2fo2w
Beginning with 1.0.1 version, we will publish artifacts to maven central.

Tuesday, July 6, 2010

Writing Web Service with SIwpas in 5 minutes

Writing a web service in 5 minutes with SIwpas! How? Below...

SIwpas uses OpenEJB integration for Web service support, and amazing thing is that you can deploy your EJBs as a WAR archive. Lets start...

1. Create a new Web modules with Eclipse,
2. Code as follows

Web Service Interface

@Local
@WebService(targetNamespace="http://siwpas.webservice/calculator")
public interface ICalculator
{
    public int add(int x, int y);
}

Web Service Implementation

@Stateless
@WebService(endpointInterface="siwpas.webservice.ICalculator",portName="CalculatorWsPort",
        serviceName="CalculatorWs",targetNamespace="http://siwpas.webservice/calculator")
public class CalculatorWs implements ICalculator
{

    @WebMethod
    @TransactionAttribute(TransactionAttributeType.SUPPORTS)
    @Override
    public int add(int x, int y)
    {
        return x+y;
    }

}

That is it! Deploy it int the SIwpas! Your web service is ready to use at
http://localhost:4204/CalculatorWs?wsdl

It is easy, hah!

Download and use SIwpas, http://code.google.com/p/siwpas/

Web Service Example :
http://code.google.com/p/siwpas/source/browse/#svn/trunk/samples/siwpas-webservice

Enjoy!

Using Defne Framework with Java Server Faces

Using Defne Service Framework with Java Server Faces is very easy. Defne provides "JSFEjbServiceExecutorProxy" managed bean instance to invoke the Defne services. We will see an example just in a moment.

Writing Defne Service

Writing a defne service without dependent on any technology is very very easy. Just annotate your class and  its methods. For example, we create a new Defne service, Calculator.

@Service
public class Calculator{
  
     @Operation 
     public static Message add(Message input) throws DefneException
     {
           int x = input.getMessageParameter(Integer.class,"X");
             int y = input.getMessageParameter(Integer.class,"Y");
 
             input.put("Z", x+y);
            
             return input;
     }
}

That is it! We have written our service with named (default class name) "Calculator" and operation name (default method name) "add".

Call Service From JSF Managed Bean

Now, we will call our service using JSF managed bean. Lets say that we have a JSF CalculatorBean,

@ManagedBean  --> JSF 2.0 fashion
public class CalculatorBean{
      
       @ManagedProperty(value="#{jsfServiceExecutorBean}")
       private JSFEjbServiceExecutorProxy executor; --> Injected by the Defne

       private String  x;
       private String y;

       public String addNumbers(){

           Message input = new Message("Calculator","add");
           input.putMessageParameter("X",x);
           input.putMessageParameter("Y",y);
           input.setTransactionPolicy(TransactionPolicy.NO_TRANSACTION);          

           Message output =  executor.execute(input);
           System.out.println(output.getMessageParameter(Integer.class,"Z"));

            return null;
      }
}

That is it!

Get more information on Defne Service Framework,
click http://code.google.com/p/defne/

Saturday, July 3, 2010

SIwpas - CR is Released

We have announced the Candiate Release of the SIwpas, Simple Web Profile Application Server.  With this release we have supported EJB lite functionality via integrating the Apache OpenEJB project.

Now, you can deploy EJBs within your wep applications, a.k.a "collapsed ear". Moreover, you could able to deploy EJB Jar and EAR modules.

Release note could be found on the siwpas main page. Samples are located in the SVN location.

Use SIwpas discussion list for any question, comment etc. located at http://groups.google.com/group/siwpas-discussion

SIwpas Project Page, http://code.google.com/p/siwpas/ 
Download Location  , http://code.google.com/p/siwpas/downloads/list

Enjoy!

Thursday, July 1, 2010

Collapsed EARs a.k.a EJBs in WARs

Java EE 6 supports using of EJBs in web applications. If you do not know how EJBs are simplified starting with Java EE 5, time to look at them again. Lots of folks still think that EJBs are heavy and must be run on the heavy containers. This is not TRUE any more.

EJBs are great because it supports Transactions, Security, Messaging, Scheduling, Asynchronous, and lots of cool enterprise features. But the most important is that "it is A Java EE STANDARD".

For example, our Defne Service Framework is a thin layer on top of this great technology for providing transaction support.

Using EJBs in WARs

This is really the cool feature of Java EE 6. Even before releasing the Java EE 6, OpenEJB has already supported this cool feature. What does it mean? It means that you can bundle your EJBs within your web application archives. How?

Example

@Stateless
public class Calculator implement ICalculator{
      public int add(int x,int y)
}

Use in JSF Bean;
public class CalculatorBean
{
    private @EJB ICalculator calculator;
}

Use in OpenWebBeans Managed Bean
public classd CalculatorBean
{
    private @Inject ICalculator calculator;
}

Use in OpenWebBeans Managed Bean via @EJB
public classd CalculatorBean
{
    private @EJB ICalculator calculator;
}


Coool!!!

That is it! No more configuration files, xmls etc. Bundle all of the necessary classes as a WAR archive and deploy it to the container that supports collapsed ears.

Want to use transaction, security, scheduling, no problem! Just annotate your EJB methods with the necessary annotation marker. Even if you do not want to annotate, there are some default configurations. For example, all business methods within EJBs are automatically Transaction Required.

SIwpas and EJBs

SIwpas Beta-2 will support the EJBs. SIwpas will contain the OpenEJB to support EJBs in WARs.  Beta-2 will be published at the end of this week.

Java EE 6 has a cool features and main motivation is the SIMPLICITY!

Stay tune!

Thursday, June 24, 2010

Defne, Service Oriented Web Application Framework

What is Defne


Defne is an open source service oriented web framework. With Defne you can easily implement transactional, secure and service based database applications based on the Java EE technologies.

Defne contains many Java EE technologies including Dependency Injection, Java Persistence API, Java Server Faces, Enterprise Java Beans etc. Defne is a thin layer implementation on those technologies that gives a developer to concentrate on the business logic.

With Defne, you can implement powerful and performancable enterprise web projects with service oriented fashion.

Why Defne


Just one word, Simplicity

You can look at furter information about the Defne from

Defne project page    : http://code.google.com/p/defne/

Getting started guide : http://code.google.com/p/defne/wiki/HelloWorldExample

Tuesday, June 22, 2010

Azul Systems Announces Zing™

Azul Systems®, the award-winning leader in solutions for business-critical Java™ applications, today announced the coming availability of Zing™, the industry’s first elastic runtime platform for Java applications. Offering unprecedented levels of scalability and throughput, the Zing Platform shatters Java scalability barriers and enables existing Java applications to efficiently and reliably scale to dozens of CPU cores and hundreds of gigabytes of memory.

Managed by an application-aware runtime resource controller integrated with industry standard virtualization management tools, Zing’s elastic architecture automatically scales individual Java application instances up and down based on real-time demands, and dynamically maps and allocates resources based on configurable policies.

You can get more information from the Azul web site,

Zing Platform : http://www.azulsystems.com/products/zing

Azul Launches Managed Runtime Initiative

Azul Systems, the award-winning leader of enterprise server appliances for business critical Java™ applications, today announced the Managed Runtime Initiative.

The Initiative is an effort to identify, develop, and deliver enhanced interfaces and functionality across vertical components of the systems stack in order to improve the execution of managed runtime, such as Java, Ruby, and .NET. By enhancing interfaces between the managed runtime, the operating system kernel, and the underlying hypervisor, dramatic performance and scalability improvements can be realized.

As part of the launch of the Initiative, Azul is contributing an open source reference implementation based on enhancements to OpenJDK and the Linux operating system.

You can get more information about the initiative,

Managed Runtime Initiative : http://www.managedruntime.org/

Friday, June 18, 2010

SIwpas - Beta is Released

Hello;

SIwpas beta version is released. You could download and try the beta version. This version includes the
  • Apache Tomcat Beta
  • Apache MyFaces
  • Apache OpenJPA
  • Apache OpenWebBeans
There are some JSF samples in the svn repository. Now, you are able to deploy your web applications without adding any bundled library. Gets taste of using Dependency Injection in your web projects.

Download the SIwpas from : http://code.google.com/p/siwpas/

Sunday, June 13, 2010

SIwpas : Simple Web Profile Application Server

Hello;

I have created a new project called SIwpas, SImple Web Profile Application Server. Project is located at the http://code.google.com/p/siwpas/.

Main motivation behind this project is to bundle and if necessary integrate "The Apache Software Foundation" "Java EE Web Profile specification" implementations with "Apache Tomcat 7". Initially I bundle and integrate the following Apache projects.
  • Apahce OpenWebBeans : For JSR-299 and JSR-330 support
  • Apache MyFaces            : For JSR-314
Initial release will be versioned as "SIwpas-1.0.0".

It is necessary?
While developing  Java EE web applications, most companies and developers use lightweight application servers, like Apache Tomcat. But most web application needs enterprise functionality that is more than JSP & Servlet technology. Therefore, developers begin to bundle those enterprise library dependencies into their applications. It creates a complexity and management overhead.

With SIwpas, our main motivation items,
  • Staying with lightweight servers, specifically Apache Tomcat
  • Bundle enterprise web projects real needs into it
  • If needed, extend it with small and well-defined maven projects

Stay tune!

Friday, June 11, 2010

Using OpenWebBeans + MyFaces 2 + Tomcat 7

Hello;

There is an example in the OpenWebBeans "trunk" that shows how to use MyFaces 2 with OpenWebBeans in Tomcat 7.

Example lives in the

http://svn.apache.org/repos/asf/openwebbeans/trunk/samples/jsf2sample/.

Also there is a README file that shows how to build and deploy application.

http://svn.apache.org/repos/asf/openwebbeans/trunk/samples/jsf2sample/README

Enjoy!

OpenWebBeans Tomcat 7 Support

Hello;

As you may have already know, Apache Tomcat has been creating release candidates for Apache Tomcat 7 that implements the Java EE 6 Servlet, JSP, EL specifications.

Now, Apache OpenWebBeans supports Apache Tomcat 7. How could you write a JSR-299 based applications using Apache Tomcat 7?

1- Checkout http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_0_RC4/ and run "ant" in trunk

2- Add following jars into tomcat "lib" folder
  • geronimo-atinject_1.0_spec-1.0.jar
  • geronimo-interceptor_1.1_spec-1.0.jar
  • geronimo-jcdi_1.0_spec-1.0.jar
  • openwebbeans-spi-1.0.0-SNAPSHOT.jar
  • openwebbeans-tomcat7-1.0.0-SNAPSHOT.jar
 3- Add the following entry to "conf/server.xml"
  •  <Listener className="org.apache.webbeans.web.tomcat.ContextLifecycleListener" />
4- Write your JSR-299 application
   
      Example Project :
That is it! Run tomcat!

If you have any questions, drop an email into our user or development forms.

PS : We will publish our first 1.0.0 branch relesase canidate this week! Stay tune!

Wednesday, June 2, 2010

OpenWebBeans Has Passed Web Profile TCK

Hello;

Have a great news! OpenWebBeans has passed all of the JSR-299 TCK Web Profile tests. This means that you could use it as a standart JSR-299 web container.

We have a plan to release our first release candidate this month!

Wednesday, April 14, 2010

OpenWebBeans Integration with OpenEJB and Tomcat

Hello;

As you have already know The Apache Software Foundation provides lots of implementation of the Java EE specifications and includes products related with them.

Recently I have been working on updating Apache OpenEJB+Tomcat integration code to support Apache OpenWebBeans in a collapsed ear applications. The motivation was that you could use OpenWebBeans in a module without adding its libraries and configuration files. Whenever your modules contain WEB-INF/beans.xml marker file, it is automatically configured over integration code. This was an amazing, nifty and interesting work for me, digging into the details of OpenEJB, Tomcat and Java EE.

Main "The Apache Software Foundation"  projects to create a Java EE Web Profile Server like functionality are followings
  • Apache  OpenEJB
  • Apache  Tomcat
  • Apache  MyFaces
  • Apache  OpenJPA
  • Apache  OpenWebBeans
  • Apache  ActiveMQ
Currently there is no release of this integration. Basically, you can follow the below steps to get running web profile server
Now, you have a running web profile server like in your hands. Deploy any web module with WEB-INF/beans.xml and use EJBs via OpenWebBeans injecting functionality. Moreover, you can use OpenWebBeans decroators and interceptors with EJBs. That is great startup!

For example, lets says that you have a JSF managed bean, PaymentBean and EJB stateless bean  that  handles payments. It is easy to write the following code to inject EJB into a managed bean via OWB using @Inject

@RequestScoped
public PaymentBean
{
    private @Inject Payment payment;
 
    public String pay{
         payment.pay();
   }
}

@Stateless
public Payment{
   
      @TransactionAttribute(REQUIRED)
      public String pay(){.....}
}

You can also inject "UserTransaction" and "Principal" into any managed bean to inject transaction and current principal object as follows

@Inject UserTransaction userTransaction.
@Inject Principal principal

You will also inject ValidatorFactory and Validators (coming soon...)

As you see, the Java EE 6 promises on simplifying the development of enterprise applications and The Apache Software Foundation provides open source powerful implementation of Java EE specifications.

Monday, March 15, 2010

OpenWebBeans Apache Tomcat Support

Hello;

OpenWebBeans has been integrated with Apache Tomcat 6.x Java EE servlet/jsp container. So what?
  • You can deploy your JSR-299 enabled applications(Web deployment archives that contains WEB-INF/beans.xml marker file. ) directly into Tomcat. There is no need to define "servlet context listener" in a web.xml. Tomcat integration code automatically handles all configuration.
  • You can inject JSR-299 bean instances into Java EE component types including, Servlets, Filters, Tag Handlers, Listeners, JSF Managed Beans
You can checkout trunk from "http://svn.apache.org/repos/asf/openwebbeans/trunk/". And install it from root as "mvn install". After that do the followings
  • Add lifecycle listener to the server.xml of Tomcat. Listener class is org.apache.webbeans.web.tomcat.ContextLifecycleListener.java
  • Put JSR-299 API, JSR-330 API, Interceptor 1.1 API, and openwebbeans-tomcat and openwebbeans-spi modules to the "lib" directory of the Tomcat. (You can use geronimo-specs jars for JSR-299, JSR-330 and Interceptor APIs from http://repo2.maven.org/maven2/org/apache/geronimo/specs/)
  • Package your application with openwebbeans jars (Or if you use maven, just add dependency to openwebbeans-impl)
  • Enjoy!
There is an example in the samples directory :
http://svn.apache.org/repos/asf/openwebbeans/trunk/samples/tomcat-sample/

Have a nice week;

--Gurkan

Saturday, March 6, 2010

OpenWebBeans M4 is Released

Hi;

OpenWebBeans M4 is officially released. You can download it from http://www.apache.org/dyn/closer.cgi/openwebbeans/.

OpenWebBeans main motivation is an ease of use. There are several samples in the distribution that show how to use OpenWebBeans in
  • Java EE Web Containers
  • Embeddable OpenEJB in Tomcat
  • Java SE (Standalone Swing Application)
  • With JSF 1.2 and JSF2
  • With JSF Conversation Context
  • and more...
For example, if you wish to use OpenWebBeans in a web container such as Tomcat or Jetty, just add following listener element into web.xml

org.apache.webbeans.servlet.WebBeansConfigurationListener


Thanks;

--Gurkan