Viability of using ADF Faces outside of jDeveloper studio - jsf

Having worked with 2 JSF component libraries, or frameworks if you wish, I can't help
but wonder if I'm missing a trick by not evaluating ADF Faces. The big stumbling block
for me is the way ADF is clearly deliberately tied in with jDeveloper studio. I work
with NetBeans on a glassfish a/s, and as open as I am to change, I want to maximise
my existing experience and leverage this stability.
My (tentative) rationale is that perhaps a company with the resources of Oracle could,
perhaps, come up with a better quality product than other alternatives and with superior
functionality, and this is what I wish to evaluate.
So I just wondered if anyone had any experience they could share with respect to working
with ADF Faces outside a jDeveloper environment. Presumably from a technical perspective
it's not much more than extracting the necessary jars from the distribution and taking
it from there. Equally important would be any licensing/legal considerations of course.
I've read that ADF has a business layer however I'd want to continue working with a Java
6 EE stack at this time.
What would be really cool would be to have a maven repository, although presumably the
reason that no such thing exists is to protect the jDeveloper business.
Has anyone got ADF working outside jDeveloper, got it working and can provide a small
amount of direction as to any major considerations.
If so, is it worth it? is ADF Faces a superior and more in depth product than can
otherwise be found (oh no, what have I said...)?
What are the licensing considerations? my present understanding is that fees would be
payable is you're not using weblogic. How about glassfish enterprise?
I have only recently found out, and was very surprised, to realise that ADF has the
third JSF core implementation, alongside Mojarrra and MyFaces. Is this just a case of
taking the RI and making a few necessary changes to support core ADF functionality or
more than that? I see from the JIRA that Ed Burns corresponds closely with the ADF
team, of course they now work for the same company. Clearly the RI has to mirror the
spec, and that takes time, so this in itself could be interesting.
Thanks.

dont know if this will help you , but it seems that you can now freely deploy adf on glassfish server
https://blogs.oracle.com/shay/entry/deploying_oracle_adf_applications_to
http://docs.oracle.com/cd/E35521_01/admin.111230/e16179/ap_glassfish.htm#BABIEADD

ADF is only officially certified to work with WebSphere 7.0.0.13 AS or ND(aside from weblogic of course). Although there are blogs and forum posts that indicate people were able to make it work with Tomcat(with much pain of course).
I know for a fact that there is an eclipse version/plugin/whatever that has ADF Faces features.
AFAIK, you only have to pay when you are using a container/AS that is not weblogic.
ADF Faces is great. It has all the components you would expect plus more. It also has a great Controller framework(see ADF Task Flows). For demos you can check out the Demo.

Related

Liferay JMX beans

I need to plan monitoring of Liferay 6.1 running on Glassfish 3.1.2. So far we determined Glassfish mbans we want to monitor.
The question is:
does Liferay provide any MBeans in addittion to those provided by app server (liferay specific mbans) ?
if so, are there any industry standard liferay mbeans that are worth to monitor in general ?
References to existing Liferay docs are welcome (actually may suffice for the whole answer). So far I could not find anything in official docs.
Thanks !
I doubt that you'll find "industry standard" mbeans, as Liferay is a platform that is used in many completely different ways: E.g. you might want to monitor the MessageBoards caches if you have a forum-like installation that suffers performance in that area. If you don't have enough content of a specific type, it doesn't make sense to monitor that cache.
That being said, from the top of my head I remember that the caches are available for your monitoring.
My recommendation is to browse through the MBeans and figure out if the given values make sense for your installation and usecase. They do have quite descriptive names.
Also, keep in mind that in general production you'll monitor other values than e.g. during performance tuning. (Coming back to caches: It makes sense to dimension the caches according to their actual size - but they wouldn't vary greatly day to day. So looking at them manually - when you want to change some config - makes sense

Build a web app basing on a dms kernel

I need your help for my question.
I need to build a web based application that should perform some activity of document management. I'm evaluating existing document management solution and I need a solution that expose api via rest or other protocol, so that I can interact with them from my application.
I read about alfresco, sharepoint and knowledge tree but I find difficult to understant prices for commercial use. Can someone help me with a comparison of function/prices for a commercial use?
Alfresco is available in two versions, Alfresco Community Edition and Alfresco Enterprise. Alfresco Community is under the LGPL license. Assuming you want to use it in-house (not distribute it to others), you can use + customise + extend Alfresco Community to your heart's content, without restriction or charge. (LGPL/GPL/etc are distribution licenses, not use licenses, so only kick in when you redistribute). However, Alfresco Community comes with no commercial support, only support provided by the community. For a lot of uses that's good enough, but for other cases you'll want to be able to ring someone for support / get hotfixes backported to your version / etc. In that case...
Alfresco Enterprise is paid for, coming with commercial support (including SLAs, pick up the phone and talk to an expert etc), along with a handful of features that matter in big deployments (clustering being one). Pricing depends on a few things, mostly around size of deployment and SLA, but for small deployments isn't too bad. For big deployments, it can be a huge saving over other systems! Give sales a call, they're very friendly, and only rarely buy me beer ;-)
If you don't want to run your own repo, there's also the Alfresco Cloud version, which comes with a public API. With this, Alfresco themselves run and maintain the instance for you, and you can use the public API to store / retrieve / manage / etc your content. It's much simpler to get going with! But you don't quite get as much control or customisation as with the on-premise versions.
SharePoint might already be covered by your existing Microsoft licensing deal, if you have one. If not, you'd need to decide between licensing on a per-server or per-user basis. See Microsoft pages like this to get an idea of the options, then ring your Microsoft sales rep to get an idea of the pricing. In many cases, you'd need to pay someone else for support, so you'd be back to a similar thing as with Alfresco Community vs Enterprise.
If you're not sure what system to go with, you might be safest and best off implementing your project using CMIS (Content Management Interoperability Services). This provides a common way to talk to content repositories, allowing you to store/retrieve/browse/search/permissions/etc irrespective of what the underlying repo is. Alfresco provide some information on it, and Apache Chemistry provides open source client libraries for most common programming languages, which makes getting started very quick. There's also an excellent book on CMIS which I can very much recommend! And not only because the authors of that have been known to buy me beer too... ;-)

Alternative to Liferay/JSR 168 and 286 Portals?

My team has been writing a dashboard application using Node.js, Twitter Boostrap, Mongo DB, and Mule for an ESB.
Recently an executive asked us to change our approach to a Portal/Portlet container like Liferay.
Some of us on the team have experience with Liferay, and we have pretty negative feelings about it. Dealing with things like full-page refreshes, portlet lifecycles, style and theming issues, and limited DBMS coverage are at the top of our list of complaints.
We see where our executive team is coming from. They have decided that they want to make the dashboard extensible and easy or easier to plug into for other groups.
Is there a solution out there which can balance the modern web expectations of users with the enterprise needs of IT professionals and executives concerned with building and extensible application with something like Liferay? Pluggable widgets are important here.
Node would obviously be our preference with something like Grails as a close second.
Thanks,
This question may not exactly be a good fit for StackOverflow's format, but I can offer some thoughts still.
If you want to stick your current platform, you need to figure exactly what features your executives want to get out of moving to a new platform. Are those features something you can build into your current platform? How much effort will that take compared to rewriting everything else? How effort will it take to learn a new skillset across your whole team? I'm sure your team can learn the new skills effectively but that still takes effort and there will be growing pains as your teams learns. If you can show to your executives that you can get the same features for a similar or less effort and that you can still have similar total cost of ownership, you can make a case to stay on your current platform.
Also I think you are underestimating what a Portlet container can do. I work mostly with WebSphere Portal so maybe thats why I think most of the pain points you mentioned really aren't that difficult to manage for me. Just because your container needs a particular DBMS to manage itself does not mean you can't use a separate DB for your custom data needs. JSR-286 introduced serveResource as a way to make AJAX easier to implement in portlets. In WebSphere Portal (don't know about Liferay), changing out the whole page content without a page reload might the most difficult on your list I'll admit though.
Modern doesn't have to mean bleeding-edge tech. And the large software products can still perform if you know how to use them right, just like any other tool.

Need suggestion to choose JSF

HI,
We are in the process of evaluating the different technologies to implement our application. Our application is like forums which will get the millions of users every day. For example, this stackoverflow.com handles such a heavy user base without any problem.
My question is whether JSF is suitable framework to develop such a application. We will be using components like RichFaces on top of JSF to design the front end. I have seen few comments about jsf that it is slow compare to other technologies.
I am anticipating your suggestions and ideas for my work. I am Java developer and would prefer to select any of the Java framework. Please advise me.
I would say JSF is indeed a very good choice. If you're building an application that serves "millions of users", then more often than not the back-end architecture is much more important than the frond-end web framework.
As a rule of thumb, only a small percentage of the time that processing a complete requests takes is spent in the web framework. The majority of time is always in the DB and in IO. Get that right and you're basically there.
The advantages of JSF are many. It's very easy to work with and it's very popular. This means there are many books, articles, blogs and fora out there to help you. Additionally, it's relatively easier to find extra employees who already know JSF than it is to find people having experience with one of the less used web frameworks.
The fact that JSF is so popular also means there are lots of component libraries and extensions available for it. This overall makes your life a lot easier. It's always faster to use some existing component than building it from scratch.
If you are looking for a website like SO, then I'd suggest GWT. It is easy to work with, faster (relative to jsf), good ajax support, embeddable and doesn't have a steep learning curve especially when you are coming from an action based framework like struts etc.
Checkout its demo show case and also the real world implementations here.
If you are building a forum-like application, why not use an existing solution such as the software on which stackoverflow.com is built-on?

Good resources for building web-app in Tapestry

I'm currently researching into Tapestry for my company and trying to decide if I think we can port our pre-existing proprietary web applications to something better. Currently we are running Tomcat and using JSP for our front end backed by our own framework that eventually uses JDBC to connect to an Oracle database.
I've gone through the Tapestry tutorial, which was really neat and got me interested, but now I'm faced with what seems to be a common issue of documentation. There are a lot of things I'd need to be sure that I could accomplish with Tapestry before I'd be ready to commit fully to it. Does anyone have any good resources, be it a book or web article or anything else, that go into more detail beyond what the Tapestry tutorial explains?
I am also considering integrating with Hibernate, and have read a little bit about Spring too. I'm still having a hard time understanding how Spring would be more useful than cumbersome in tandem with Tapestry,as they seem to have a lot of overlapping features. An example I read seemed to use Spring to interface with Hibernate, and then Tapestry to Spring, but I was under the impression Tapestry integrates to the same degree with Hibernate. The resource I'm speaking of is
http://wiki.apache.org/tapestry/Tapstry5First_project_with_Tapestry5,_Spring_and_Hibernate . I was interested because I hadn't found information anywhere else on how to maintain user levels and sessions through a Tapestry application before, but wasn't exactly impressed by the need to use Spring in the example.
The sources I use are:
the documentation itself particularly the component reference
Howard's blog
the wiki, particularly the howtos
the mailing list archives (the convention is to put 'T5' in the subject for Tapestry 5 issues)
the Jumpstart project pages
the Chenille Kit demo for additional components
Personally, I've found that Tapestry 5 does everything a basic web app needs without Spring. There might be some specific Spring utilities you would want to pull in, but the Tapestry/Hibernate integration is very solid and easy to use. Still, the wiki has some examples of integrating the two.
I'm not sure of what you're referring to regarding sessions. It's extremely simple with T5. See this.
Don't forget to check the new, improved documentation at http://tapestry.apache.org.

Resources