Java-based CMS with RESTful service / API to access content [closed] - java

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
For those who might vote to close this question due to "not constructive - As it currently stands, this question is not a good fit for our Q&A format." - Would be great if you would suggest where should I post this question (https://softwareengineering.stackexchange.com/ ? or any CMS-focused forum?)
Similar questions have been asked before:
https://stackoverflow.com/questions/918722/java-or-php-for-homegrown-cms
https://stackoverflow.com/questions/4005811/is-there-a-good-cms-for-java
https://stackoverflow.com/questions/8298790/java-web-cms-recommendations
https://stackoverflow.com/questions/4837502/recommendations-for-a-lightweight-java-web-cms
https://stackoverflow.com/questions/1939238/can-you-recommend-an-easy-to-use-easy-to-develop-cms
All of them are a few years old, so I am wondering if there are new recommendations / discussions around this.
Some background: We are a Java shop, we create / maintain websites for our clients, our tech stack are Java, Spring, SQL, JSP, HTML5, JQuery, Tomcat, JBoss, Maven, etc ... the usual stuff. So far in terms of "content" we either put it in some properties file read in by the JSP for copies (eg. description of product X) or back-end service that provide dynamic content (eg. what's the current value of product X).
Now we are rethinking our approach to managing content because we are managing more and more properties for the client with the same content (eg. a website, mobile website, mobile app, etc), so we definitely want to avoid having multiple copies of the same content spread around.
A few things I am particularly looking for:
Java-based (because we are Java shop: 1) more expertise in handling Java-based stuff and 2) avoid introducing another tech to the stack)
Extensibility / customization. Need to be able to customize the CMS (which is why we want to stick within our Java expertise) so that it can be extended to connect with other web services to consume content, etc.
Focus on content - we need clear separation between content vs UI-render, going back to what we are looking for where we will need to deliver the content into separate properties.
RESTful service / API to access the content - same as above. We need the content to be accessible directly as a JSON / JSON-P /. XML feed.
Need to have a decent UI to work with and the more intuitive the better for business user because some of our client that might be moved to the platform will likely want to be manage their own content
Multilingual support
Open source / low cost
So far, several options that I have are:
Adobe CQ - Looks to be the most ideal solution, but unfortunately it's cost prohibitive
Hippo CMS - Looks to fit what we are looking for, I am unsure of how well it's documented, tutorial / how-tos seems to be quite sparse, their market share seems to be bigger in Europe than in North America.
Liferay - More focused as "portal" as opposed to CMS providing content
Alfresco - More focused on "documents"
dotCMS - Like Hippo CMS, seems like this one might fit our needs.
Magnolia CMS - Looks around the same alley as dotCMS and Hippo as well. From the comments I've seen seems like they are more focused on a single website and not clean separation between content vs UI.
I personally don't have much direct experience working with CMS before.
Your thoughts / comments on each of the options above, or if you have other solutions in mind not mentioned here, would be greatly appreciated! One of my challenge is that we need to make a really sound decision because whichever path we decide to go down with, we would likely be stuck with it, decision is not something that can easily be discarded and start over.

Personally I have some experience with Hippo and a lot with dotCMS. I do know a little about Alfresco, Liferay and Magnolia but I have not worked with them before. I have no experience whatsoever with Adobe CQ, because I never took the time investigating. This is because of the high costs being a no go for many of our clients. Alfresco is indeed a better solution if you're looking for an online document management system, which I think you aren't. You are right about Hippo, Magnolia and dotCMS being somewhat similar, which isn't that strange because they try to solve the same problem: being an Enterprise class Java based Web Content Management System. They focus heavily on managing the content which can be used in pages that are also manageable with the CMS.
To be honest: I have a bias towards dotCMS because I have worked with the systems a lot and know much about it. I thought I'd explain why it works for us so you can take that into consideration. I work in a Java shop that does a lot of middleware development for its clients using JBoss and the whole EE stack. We connect old (Cobol) and new systems together and put a shiny new web interface on top of that middleware that targets both admins and consumers. To be able to create these interfaces we need a CMS that does a few things well:
Java based (because we're a Java shop this enables us to have the same people work on the CMS and the middleware)
Horizontal scalable to tens of servers without too much hassle. In the classic case when scaling out to multiple servers the database and the assets folder are shared between the nodes. This could be a problem when you have many nodes, but in practice it's not such a big issue because most of the load will hit the index and not the db or the disk. In 2.5 and up dotCMS offers a "share nothing" mode where each node has its own database and assets folder, but this does requires you to use an additional (read: licensed) authoring server that pushes the content to each of the nodes. I have not played with this setup myself, but it sounds promising, especially because each node can be a simple and cheap box that only uses postgresql / mysql and tomcat and because there is no single point of failure anymore. In the classic case if the shared assets folder or the db would die all nodes would be down as well, except when you cluster the db and the disk as well which is expensicv to do. With this "share nothing" setup this is no longer the case. As I said: I have no experience with this, but it sounds like it might work.
Admin interface usable by both power users and non techie people (clients). Not everybody is "good with computers", but they too need to be able to manage the content (very often these people work in the marketing department of our clients). dotCMS offers ways to create admin interfaces that show only a few of the functionalities dotCMS offers. This prevents them for having to understand the whole system which speeds up training and acceptance.
Structured content. This is biggie. We want to be able to define many types of content all with a fixed set of fields, just like a database table. All without having to rebuild or restart the system. The people that would define content based on this structure (the name dotCMS uses for these types) cannot enter invalid data because the system protects against that. This makes building websites so much more future proof and convenient. Especially for developers.
Focus on content first. The first months that we used dotCMS we actually only used dotCMS for managing the content itself and exposing that through JSON API's. We did not use CMS features like defining templates and creating pages. This works fine and sounds like the stuff you're looking for. dotCMS has a JSON/XML Webservice that returns content based on queries. We use this a lot in almost all our projects, see here for more info: http://dotcms.com/docs/latest/ContentAPI. Using dotCMS itself for the whole frontend is also a possibility. Especially with the Spring controllers that it supports and the CSS-framework agnostic new template designer it is a nice way to build systems that require more than just some content.
Multilingual. dotCMS offers a few ways to do this. You can create content in all languages that you need, even non textual content such as images. Because of the "content first" approach many things are content in dotCMS , and can be treated as such, including creating a version for each language that you need.
Open source. dotCMS offers a community version that we use most of the time. Only for the pro features like load balancing, using oracle for the database, etc, a paid version is necessary. And even then the costs are manageable. See http://dotcms.com/products/editions/ for more details about this.
Internal caching mechanism. Because of the high load some of the sites we have build need caching. DotCMS uses the Google Guava for their caching which works pretty well.
Extendability, also a biggie. We needed to be able to extend the functionality of dotCMS for obvious reasons. DotCMS used to only offer an old school way of doing plugins that is kinda ugly and is based on an ant script that overwrites the dotCMS classes with your own. It works fine, but I always feel dirty after writing such a plugin. However since version 2 they offer an OSGi based plugin framework that is pretty sweet and much more developer friendly. It went out of beta in the 2.5 version. We're planning to port all of our plugins to the new framework.
Multi host. We need to be able to host multiple sites within the same CMS. DotCMS provides this natively. It's also a nice way to share common stuff between multiple hosts which we use a lot.
Of course there are also down sides. Here are a few:
Web CMSes like dotCMS store its content in a database and the assets as files on the disk. This makes versioning and synchronizing between different servers a pain in the butt. Starting from the 2.5 version dotCMS offers synchronizing tools that enable you to push content from one environment (for instance UAT) to another (for instance PROD), which helps. But not being able to checkout a single version of the content from something like GIT or SVN is very annoying. Especially since we as Java developers are accustomed to things like automated testing in a continues integration environment. Of course you can store the database as a SQL statement and the assets directory but that's slow and not so "nice". But then again all systems that store state in a database have this flaw.
DotCMS takes some time to learn. It's not a small CMS like Wordpress that you'll understand in one afternoon. It has many features and is very powerful, but you'll most likely need a day or so to understand the dotCMS way and then another couple of days to understand all the API's. I do encourage you to first read some docs and tinker with it before building a real production site: many ways lead to Rome, but some of them consist out of quicksand. :)
DotCMS is RAM hungry. To keep things fast it cached everything, so if you have a lot of content it will eat away at the RAM you have available. You can tweak this but it's easier to just give it enough RAM we have found.
Not all configurations of WebDAV + editing client are compatible with dotCMS. For instance on a mac I have found that you best use Cyberduck as a WebDAV client and Aptana as a text editor. Other setups do freaky things that dotCMS does not like much. You got to play a little to find out what the best setup is for you. I did find that if you file a bug on their github they get it fixed in the next release. They told me that WebDAV is hard to get right because it's not a fixed standard which I understand but it can still be a pain in the butt.
If you want to learn dotCMS read their -not so bad- documentation: http://dotcms.com/docs/latest/TableOfContents and also take a look at their demo site (http://dotcms.com/products/demo/). In the demo site you'll find examples of all the concepts that dotCMS offers. Oh and check out our own free dotCMS plugins as well. Especially the JavaScript and CSS minifier is very handy: http://geekyplugins.com/.
Hope this helps a little. Let me know if you want to know more.

Disclaimer: I work for Hippo, so I'll try to only answer with facts and not opinion :-)
Hippo is fully Java based, front end is language independent, but geared towards JSP or Freemarker, optionally you can use a REST-interface and use whatever.
Many plugins are created and collected at the Hippo forge.
Content-centric design has been a staple of Hippo development, should pose no issue.
Yes, by default all JCR calls are available. Apart from that you are able to define your own REST interface to suit your needs, example in the demo, documented here.
I dare say yes, in my experience most non-tech users find the interface easy to understand.
Multilingual is easy, part of the default multi-channel setup.
The community edition (which is complete, no bait-and-switch) is open source, there is some enterprise functionality behind a proprietary license. The license also opens up support avenues, besides the Google Group and Stack Overflow.
Now, on your comment about the documentation being incomplete, let me offer my opinion:
You are right, the documentation is an ongoing struggle. Most stuff is documented, but is hard to find. We are working on improving the overviews, introductions and tutorials, but we are obviously not done yet. If you can't find anything, usually the community is able to help and point you in the right direction.

Related

strategy to integrate java cms-functionality into website with highly dynamic content (Lucene / Mysql / Nosql)

I realize a lot of questions like 'what cms should I use / what is the best' have been asked, but I'm looking for integrating cms-functionality in an already functioning website.
This website (travel-related price-comparison website) is built in java with Tapestry 5 as it's web-framework. It makes extensive use of Lucene / Solr.
I'm looking for a way to be able to author additional content-rich pages, which combines content to be authored in a CMS-environment while other content is highly dynamic and results from for example Solr / Lucene or Domain Object (fetched through Hibernate).
For now I used mysql and excel as a really crude way for a CMS. --> Have Excel-files following a specific format and import the content in mysql. The website than queries mysql for the content.
Obviously, this can be approved.
I guess I'm looking for guidance at what level the integration with an existing CMS should be done.
options:
1- Loosely coupled - PREFERRED FOR NOW - Use a CMS based on a content-repository which follows the JSR-170 specs. Magnolia, as well as some others come to mind here.
- Simply author pages / page-snippets in Magnolia which are stored in the content repository.
- Have a periodic program query the content-repository, extract the data and populate MYSQL like before.
pros:
- website works like before, without changes
cons:
- no way to edit pages in-place.
2- Have a CMS that is customizable in such a way, that I can bring the solr / lucene functionality into the CMS.
pro:
- in place editing
- better editing workflow
- editing is kept in one place, etc.
cons:
- needs customization to existing CMS, and probably lot's of it. But may be worth the time for us on the long run.
3- Something in between? (like begin able to incorporate the inplace-editor part of a cms into our website, and saving to our existing backend)
suggestions welcome.
I bet I'm not the only one having such a use-case (on a high level), and am wondering what others have done / would suggest.
In particular: what Java CMS do you know of that are customizable to the extent as described above. For some reason I'm liking Magnolia far better than the others I've tested briefly (Alfresco, Hippo)
Any help appreciated.
Thanks,
Geert-Jan
We use Atlassian Confluence for this. It's not a CMS — it's a high-quality wiki — but for us it was more suitable than a 'real' CMS like Magnolia. The strong points for us were:
Price: for a small installation like ours the licence is just $10
Flexibility: full Java source code is provided with a Maven build and a very powerful plugin system. If Confluence doesn't do something, you can implement it without hassle. There's a big ecosystem of useful plugins too.
Ease of use: I find Confluence easy to use, the UI is great for normal users who just need to write — whereas some CMSes are complex and hard for non-technical people to use.
I think it would work in your scenario, but I can't tell you if it is the best option. You could make use of the Remote API to retrieve content via your Tapestry application. I don't think it supports JSR-170 though.

WordPress, CMS Made Simple or other?

I'm a Java/.NET developer but on my spare time I've started looking into WordPress (for personal projects). I'm not as good in PHP as I am in Java or C# but I manage. With that said, I accept tips from either language (since it's personal projects I prefer to go open source cause it's free).
What I'm trying to do is creating a small multi-language business web site with standard pages (home, about us, contact us and so on), news, a simple web shop (just listing the products is good enough in the beginning) and a photo gallery.
What I like about WordPress is that it's very flexible with custom post types and so on (since I'm gonna need news entries, products and different content types on the same site). A set back is the admin interface for a "client" with minor computer knowledge, they have to "Create a Post" with post type product instead of the menu saying "Create Product" or "Create News Entry".
So basically my needs are:
Standard Pages (Start page, contact form page and so on)
Multi-Language (In both content and pages)
Web Shop (Really simple one)
Photo Gallery (Simple as well)
News
"Company Admin" (A user that can only access publishing stuff. Create news, pages and so on. Not install plugins or manage layout)
Simplify Admin GUI ("Create Product" instead of "Create Post" with product as post type)
The question is: What CMS should I use?
Hope I made it clear enough what I'm trying to achieve!
Any input is welcome! Thanks in advance!
I've had good results with both Silverstripe and Concrete 5. They both have user management and an interface that can be used by novice users. What's more, they are both built upon a custom MVC framework and expect customization to be done by a programmer rather than in the CMS itself. This way, the interface contains less distracting configuration stuff.
If this doesn't work for you, there's always Drupal, which is very customizable and specialized in custom page types as well.
Good luck!
I just read that you chose for Silverstripe. I'd love to hear about your experiences with it as I myself have never tried that one.
However, I too would have recommended CMS made Simple™ if I had seen your post sooner. I have made dozens of sites with it. Compared to some of its brothers and sisters the admin interface is very intuitive and easy to manage. I usually even say "heaven for the digital illiterate end customer".
However, for the person who builds a site powered by CMSMS it's a must to know his/her way around (x)html and css. The same goes for basic knowledge of installing databases and permissions on folders.
The system is basically intended for designers and developers with a professional background and does not provide you with hundreds of ready made templates. It's up to you to make them yourself if you want to create something original. However, if one has the upper mentioned knowledge, freedom is at hand. No restrictions in layout :-)
Last note: if you want to do a multilingual site in CMSMS, I recommend you look here: http://www.i-do-this.com/blog/25/Another-method-of-Multilingual-CMSMS-Page. This method gives you extreme control over SEO and the URL structure. I point you to this as some time ago the MLE fork takien was telling about in his post has been proclaimed unsupported by the core dev team. The reason for this is that they cannot guarantee breakdown on updates to newer versions as it is actually a third party fork of CMSMS. The developer (Alberto Benati) who made the fork has moved the project to his own site.
Modern CMSs with the addition of their plugins and extensions are more or less doing what you need. I've used Joomla before to build up sites with most of your requirements with minimal effort. I also have a Java background and I've found Liferay, which is written in Java, very interesting. At this stage it's a mature product with extensive user/group customization and Portal development in the form of portlets.
Concerning Joomla addressing your requirements:
Joomfish for multilanguage support
Home page treated specially, contact and form pages in the form of modules
VirtueMart for shopping cart
Lots of photo galleries to choose from in the form of extensions
I think built-in News functionality as module (not sure) but as well lots of extensions
"Company Admin" as you describe can be a lower privileged users.For Joomla Admin separation have a look here
Not sure what you mean by simplify Admin GUI. A user with lower privileges will have fewer settings in the site after they login.
Please don't use Joomla! I've been using it for years and it gets the job of putting together simple sites done quite well, but if you want to change any of the aspects about how your site works, it stops being simple to use. You will end up hacking PHP files to achieve things that are possibly very easy in other CMSses.
I had very good experiences with Drupal, where you can define your own Classes of "posts", so, for example, "Products", which will have special fields that are only associated to products. Joomla will never be able to do that!
Apart from that, Silverstripe is a good CMS that's very easy to handle. Wordpress might not get you far as I'm concerned with building shops, but I haven't looked into it.
for your needs, I would like to recommend yo to choose CMS Made Simple (CMSMS) rather than Wordpress. CMSMS has multi language feature (choose multilanguage package) which is very easy to setup and manage.Don't worry about customization, CMSMS is easy to use, nice admin page, easy to make your own themes.
I'm not disfigure Wordpress, but since peoples not good in PHP, their site would be just another Wordpress blog. :D
There has been a new module added to CMSMS that makes multi lingual setup much smoother. More information can be found at this very useful blog:
http://blog.arvixe.com/creating-a-multilingual-cmsms-site-using-mlecms-module/
For the gallery for wordpress, the best solution in my opinion is to use an outside gallery, hosted on Picasa or Flickr for instance, and a simple plugin (you have a few to choose from) for that platform.
For translation, all the plugins I haved tried are very easy to break with other plugins or with WP upgrades if the plugin is not upgraded with it. For just two languages, I would just use a category based language organization. Not a perfect solution, and you will need to tweak the templates a bit, but it have worked for me.
Having said that, I would probably prefer to use Joomla if this were a project for myself, you would only miss the simplicity of Wordpress for plugin or template modifications (or even creation from scratch). And Joomfish is much better than any language support in WP as far as I can tell. And the same goes for VirtueMart, which is simple, easy to install, easy to use and have been there for years (= lots of modules, support, documentation, etc).

Jar Store - prevent from copying

We are going to create Jar Store the way like App Store works, but for Java Developers.
Everyone will able to submit and sell custom .jar library which solves some little problem, but solves it very good to save other developer's work time.
The only undecided question is how to prevent .jar copying or publishing bought .jar to the Net.
EDIT: This can probably achieved by using strong copyright policy? Suggest please!
EDIT 2: I imagine Steve Jobs asking:
How we can prevent iPhone Apps from copying?
— You can't it's just a files on the iPhone which can be easily copied by anyone.
Whoa! Did we just go through a 12-year time warp?
This is exactly what JavaBeans was intended to do, back in 1996-7.
It was intended to solve a technical challenge of pluggable, re-usable code, which would of course engender a vibrant and lucrative third-party marketplace of drop-in components. People would make,sell, buy, and consume these re-usable pieces of code.
Then, that fantasy was replicated when server-side Java grew in popularity. The idea behind numerous companies was that they'd act as brokers and commercial exchanges for re-usable pieces of code. The names of these companies escape me now. There were many.
Most of them faded, and some of them evolved their business model away from acting as an commercial exchange, and towards selling software directly. In particular, they moved toward selling the thing they had hoped to run their business on (their "ERP"), as a piece of software that enterprises could use internally - a component repository supporting re-use within an enterprise.
Darn! The names of the big companies that made this transition escape me now.
An interesting question is, why did App Store succeed (wildly!) while the vision for JavaBeans stores, or stores for enterprise Javva components, never caught on.
I have my theories but... not least among the reasons is the phenomenon of "open source" - where you can get pretty darn good re-usable components for free. Before you go tilting at this windmill, I suggest you study some industry history!
For this to work you need to have content. Really good content. With excellent documentation.
I would imagine this is the first obstacle you need to tackle.
With this business idea copyright protection in both technical and legal way must be you core competences since this is the main part for your added value.
If you prevent something from copying, how are people supposed to distribute their software? I'm not writing enterprise solutions to run only on my notebook.
you can't don't even spend any more time on trying.
rephrase your question to
I want to restrict someone copying a
plain text file.
Same problem with a .jar file. You can put all the legal restrictions you want, but it won't stop anyone from making a copy of your file if they are able to use it. Go ask the RIAA how effective they are at stopping the copying of .mp3 files.
I would also offer what do you think you can offer than the Open Source community doesn't already offer in the Java world? The Java ecosystem is very mature and very full featured from a library stand point. I can't imagine that anything you offer, that might be the least bit innovative, some open source project won't spring up and create a free open source version of.

How to manage content on a Java based web site?

I am in the process of writing a Java based web site. I am trying to figure out how to manage some of the content that will appear on different pages. Obviously I don't want to hard code the content; but on the other hand I also don't feel like using a full blown CMS like Alfresco or OpenCMS since I think that it is complete overkill for my needs.
So my question to the experts out there is what is a good way to separate content from the code and maintain it independently without resorting to a large scale CMS? There has to be some sort of middle ground that allows me to change content without having to redeploy the code or go through the other extreme with some large CMS. I don't need all that workflow or versioning stuff etc. Maybe there is an open source library or API that allows you to manage content in a simple way. So what are the opinions out there?
Cheers,
Luis
Beside Tomislav interesting advivce,
You can rely upon template engine (like freemarker or velocity or stringtemplate) to have on one side your page content and on the other your page rendering. This is, in a more evolved fashion, what good old JSPs used to do. But with a twist : using these template engine, your pages can be easily loaded from XML, as an example (I know, for having used recently freemarker on a personnal project that is is quite straightforward).
Alfresco is not designed to build web sites on (although yes, you can). You could try with Daisy ("a comprehensive content management application framework") or one of the other similar solutions from the open source CMS in java directory.
In the end, you might fall back on a relational database and the web interface technology you are most familiar with. Having said that, I would expect Grails or Rails might offer the best value-for-money if you're aiming for a moderately complex web site (authentication, separate back and front end etc.).

Best solution for migration from Oracle Forms 6i to the web? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I work in an Oracle shop. There's a toolset that consists of roughly 1000 Oracle Forms (using the Forms builder from 6i, early 90's software) with Oracle 10g on the back end. It's serving roughly 500 unique people a month, with 200 concurrent connections at any given time during the work day.
Obviously this is something that needs to be addressed to get rid of the Forms runtime and move to a web based solution. The tools need to be accessed from Windows, Linux, various UNIX's, VMS and Solaris.
What options out there exist that would be feasible to migrate to? Not only does it need to be feasible for migration but the development will need to be done by 8 or so engineers who support the tool set (and many of which who would prefer to stay put and not modernize this tool set).
Oracle offers a few solutions that convert Oracle Forms into a crappy Java Applet (it's a very terrible temporary solution).
My solution of choice has been migrating to Ruby on Rails (which I'm a big proponent of Rails) but this will involve a learning curve (which we'll hit with any solution) for other developers. Also, the other difficulty in this is converting some very complex forms to HTML forms.
Has anyone tackled such a solution? Are there any packages offered by anyone outside of Oracle?
Any specific Java Web frameworks?
Would GWT, jQuery UI, ExtJS or any other JavaScript UI frameworks offer the rich user experience needed?
.NET is a consideration but a last resort (mostly because of license costs, there's no room in the budget in addition to what we're paying for Oracle licenses).
That's exactly what I am currently doing using...
Oracle Application Express
The learning curve is much smaller than most web-based alternatives for Forms developers, as all the code is in PL/SQL (unless you start getting fancy with Javascript, which you can). Also, in the latest release of Application Express (3.2), there is a tool to convert Forms applications to Apex.
It comes free with Oracle versions since 9.2.
I'll +1 for Oracle Application Express -- I think that there are some significant advantages in your situation.
Free licensing
It may bean attractive option to the current staff, if they are Oracle bigots like me.
It's 100% web, and in 11g doesn't even require a web tier.
A really late answer, but relevant. The upcoming V3.2 release of Oracle Application Express adds an Oracle Forms migration tool, which you might find improves your productivity even further.
You should check out this site http://www.forms2net.com/ it's Migration Tool of Oracle Forms to .Net. It's pretty good stuff!
In The Netherlands QAFE ( http://www.qafe.com ) is becoming a populair alternative. They have been around for a couple of years now, serving companies outside Europe as well.
Their claim to fame
Automatically convert and reuse 60-70% of the code
Apply filterrules to make the output cleaner (remove all no longer applicable / needed code). A new feature to improve the quality of the output code.
Use the output and edit/run directly in QAML Builder
Provide your styling (by means of CSS)
Bulk process Forms after a ruleset is defined
Forms Analysis for a better impact analysis
Render to any web technology you want (also to yet to be developed technologies) without the hassle - because the presentation layer is separated from the 'logic'
I work for the company that developed this platform so do not take my word for it, try it yourself and let me know what you think; I think these guys made the best package outside of Oracle.
Oracle maintains a list of vendors who all specialize in doing exactly what you need to do.
This is a very common and popular topic due to the large installed base of Oracle Forms. If you do a simple Google search there are lots of accounts of making this transition.
In my personal experience, we had luckily structured our Oracle Forms applications to have nice PL/SQL APIs. It was simple to re-use all the existing PL/SQL in our transition to J2EE, which we did manually. It sounds like you have too many Forms to do that efficiently, though.
Oracle Migration Assistant is free. It pretty much does exactly what PITSS does for the Migration. PITSS offers some neat things that can be used going forward, which will justify the cost. But if it's a Forms Migration you need, Migration Assistant does the same job.
But if you do purchase PITSS, you could easily write a script to rename a set of forms to something repeatable and write a log of what the names where. Load under names like 1.fmb, 2.fmb, etc. Perform the changes. Then rename them back using another log file that references the log file. Then repeat for another set of forms. Could save you thousands per 100 forms.
And the reports migration is a waste of time. You will have to open each form anyway and reposition fields, especially on the parameter form. That's all you would have to do without the PITSS tool.
Try contacting the folks at ATX about this: http://www.atxtechnologies.co.uk/java/forms2java/. J2EE Java plus Adobe Flex means that the licensing is probably free (unless you want Flash Builder as well). If it's like Forms2Net, the conversion rate will be fairly high and you'll get good quality Java code afterwards.
Hi i have done a similar work using GWT/springs/ORMS combination, the results are fantastic ,how ever it also depends on the complexity of business process mine was a very very complex business process, what i did was segragate all the layers and treat each layer as a service , in the process i made an application which every one goes wow and at the same time is eligible for many certifications , but if you want to do it more faster and not change the front end u can use exodus
cheers
vasem
vasem_want#yahoo.co.uk
I have found that PITSS.CON, developed by PITSS ( http://www.pitssamerica.com ) is the best out there Oracle Forms Migration. Instead of doing this manually, where you can spend up a few months with a couple hundred forms or a couple years with over a thousand, PITSS.CON, enables one to migrate from any 2.3 to 10g in a matter of days. Its unbelievable what this tool can do.
Hi I work for PITSS (pitssamerica.com), and I want to elaborate on what gwoods1412 stated. You can migrate from any version of Oracle Forms 2.3, 3.0, 4.0, 4.5, 5.0, 6i, or 9i to 10g. The tool also migrates your Oracle Reports, and we have a solution to cure the issue with using the Reports parameter form. Oracel Forms and Reports 10g is a Web Based Solution, so you don't have to bite off the expense of a migration to another platform.
APEX is free to use, but it isn't free to migrate to. And the migration tool only extracts the fields (items), it does not take the Business Logic. So you are not getting your real investment out of your forms, you are getting a query and field description.
If you use a tool like PITSS.con, you will be testing you application on the web in a few days. Your developers will be working on other projects, and all will be right in the world. Oh yeah, you can interoperate with APEX, ADF, Java, .NET, etc once you are in 10g too. That means new development can be done in a new toolset. You start a gradual methodical migration to a new technology. Pretty nice to not have a huge launch party in two years when you can have one this month.
And APEX isn't really an enterprise solution. Here's a quote from David Peake who is Oracle APEX Product Manager:
"One of my key goals is to not over sell APEX conversion capabilities and ensure that attendees understand that converting Forms requires significant investment and is not going to be easy, no matter what tool you are converting to."
I stole that quote from Grant Ronald's (Oracle Fusion Middleware Product Manager ) blog which can viewed at Grant's Blog
You really need to check out the Forms Conversion utility from TurboEnterprise. I do not use Oracle Forms but a friend of mine has used their software to covert Oracle Forms and he loves it. They also have a free version on their website too i think. www.turbo-enterprise.com

Categories