What would be better if need to migrate from Oracle Forms 10g , Either Apex or ADF
If Apex then Why and Why not ADF
If Adf then Why and Why not Apex
Obviously, this will be an opinion-based answer.
They say "Forms is dead" for at least two decades now, but - Forms is still alive. Guys in India still develop applications in 6i, I'm not sure they switched to web yet (how do I know? By reading questions on different Oracle forums).
ADF looked like a great choice for everyone who wanted to abandon Forms. ADF looks pretty. ADF is Java. I don't like Java (but that's irrelevant). ADF is not a simple tool and people who don't speak Java can expect certain problems. You probably know how simple it is to create a master-detail form (for example, based on Scott's EMP and DEPT tables) using Forms? Matter of minutes. I don't know about ADF, but I've watched a Java developer who spent hours (literally) to do the same task (while, at the same time, another person created it in Delphi even faster than in Forms).
APEX is way simpler than ADF (and Forms, to be honest). All you need is a web-browser. No complex IAS or Web logic installation, JInitiator and stuff ... OK - embedded listener does its job if it must, but you'd better switch to ORDS. If you have fair (PL/)SQL background, creating an Apex application is matter of several hours/days, and you'll have a nice-looking application. How robust is it? Quite, as far as I can tell. What about you, as a developer? Lucky you, you came when Apex 19.x is out. In pre-dynamic actions era (3.x), you'd suffer in pain because Forms does everything with triggers - there are none in Apex. But now, now you have dynamic actions which are the closest thing to triggers so far.
If you keep the logic in the database (stored procedures, packages) and let APEX take care about nice presentation to users, you shouldn't expect too many problems. I've heard (just yesterday) that ADF developer I know does the same - keeps everything in the database and uses ADF to create a nice application. Users don't like Forms applications because they look ugly. But hey, what do they know? Forms applications - if well written - are really good, robust, reliable piece of software.
I've heard (on one of OUG conferences) that - on OpenWorld - there were zillion APEX presentations and zero ADF ones. Apex is in nowadays, ADF seems to be out.
Would I want to migrate my Forms applications to anything? No, I wouldn't. I sympathize with you.
Depends on the experience and knowledge of your developers and what language you want to develop in.
ADF is actually 2 products (well, really 4...) ADF Business Components (ADF BC) is the back-end server ORM framework and ADF Faces (JSF) is for front end server generated Web Pages.
ADF is a full JEE Solution using servlets, JSP/JSF, ORM and sophisticated concurrency and data management. It is for those who want a Java solution for their Apps. That being said, most ppl are leaving ADF Faces (Front End) for JET (JS) or APEX (PL/SQL) and are choosing ADF BC for its excellent ability to create RESTFul web services declaratively, which can be extended with custom Java code.
ADF BC can work with many different data sources and databases - basically anything that has a JDBC driver. APEX is Oracle DB ONLY.
The migration from Forms to APEX is much more direct and there are migration tools in APEX to help with this. APEX is all PL/SQL vs ADF which is Java.
If it were me I would use APEX if I want a Web App on top of an Oracle DB or are migrating from Froms. Knowing Java well, I would use ADF BC if I had to create RESTFul Web Services and need to integrate with different servers and sources. While I can create RESTFul web services in APEX/ORDS - it is a SQL/PL/SQL solution only, ADF BC allows for the use of Java across any data source.
Related
We have an existing system using Oracle DB and several applications working on/off it using JDBC/ODBC etc. For an additional interface for CRUD operations I am looking at a web based front-end. I dont see a whole of ideas in this areas, maybe because the ORacle DB is mostly enterprise and probably means the enterprises building their own custom apps?
Using the Oracle REST API services, build a front end using Angular/JS. This eliminates any need for oracle specific server side logic and almost ORacle independent. Are there any frameworks / opensource tools that fall in this area?
Please let me know any comments / feedback on this approach.
As far as I know there aren't really any options like this specifically for Oracle databases. You might be better off going with a desktop solution, of which there are many.
There is a web UI called "H2 Console" which claims to work with any JDBC connection. I have used this with MySql before with great success but have not tried it with Oracle.
The H2 Console application lets you access a database using a browser. This can be a H2 database, or another database that supports the JDBC API.
If you want something more 'user friendly' then as far as I know there are no existing solutions for this. You will probably have to build your own or educate your users on SQL.
Hi i am developing a metro style application where i will be connecting to web services and get the data from the web service and i will be binding it to the UI.
But my requirement is in my application i need to create tables and also provide relation between the tables and dump the data in to that local database and use that data in calling the other methods present in my service application (calling one more method in services by passing something as an input to that).
Can you please explain me the following :-
What is Database which is supported for metro style apps?
How can i create a database and create tables and dump the the data which i got as the response from my service application?
I am new to Metro style application development please help me out .
Thanks in Advance.
First of all WinRT has very poor db support. Most of this kind of things are done by web services, OData etc
BUT I`m almost 100% sure that you can use SQLite. On codeplex there are connectors from Win8 Metro app to SQLite DB so check this topic. I also saw somewhere on MS page that SQLite is support in some way. Check it
What Fixus said is correct. Personally , since my app doesnt have a large amount of data to store locally (it goes against the Metro guidelines to store large amounts of data) I serialize the objects instead to local storage. When needed, and if internet is available, the services will be called and the local data updated.
If you choose to use SQLlite make sure you use the real deal and not a third party db, as the DB library must be approved by Microsoft if you want to get the app accepted to the windows store. I'm not even sure that SQLite is yet approved, but by the looks of it they will be.
Tim Heuer always writes great articles on the subject, this one might help you
Let me know if you need help with serializing in WinRT, if you need it.
Best of luck!
We recommend using SQLite database with LinqConnect - Devart's LINQ to SQL compatible solution which supports SQLite engine (provided by http://code.google.com/p/csharp-sqlite/). You can employ LINQ and ADO.NET interfaces with our product. Starting from the 4.0 version, LinqConnect supports Windows Metro applications: http://blogs.devart.com/dotconnect/linqconnect-for-metro-quick-start-guide.html.
If you're building some application that has to keep working without any network connection, and needs to synchronize at some point in time, it is necessary to keep a local database.
You can read the following article, which has some basic guidelines and samples.
http://blogs.msdn.com/b/win8devsupport/archive/2013/01/10/using-database-in-windows-store-apps-i.aspx
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.
Today my university lecturer in a databases class brought up PSP.
I have used the LAMP stack and am into open source, so I have a bias against Oracle. I understand however, that Oracle databases are used in industry and so it is good to learn how to use it.
However when we covered PL/SQL Server pages (Stored procedures in an Oracle database that output HTML and can be access with a web browser) I cringed. Is my bias getting in the way too much, and there are advantages to using it compared to using something like PHP and dynamic SQL queries? How popular is PSP in web applications using Oracle?
PL/SQL Server Pages (PSPs) are (sort of) a variant of the more general-purpose PL/SQL Web Toolkit (also known as OWA; it was called the Oracle Web Agent in early days).
There is not much buzz around PSPs, so I assume they are used by very few. The PL/SQL Web Toolkit (OWA), however, is another matter altogether. Lots and lots of people use this for building (data-centric) web applications with the power of PL/SQL.
Also, in 2006 or thereabouts, Oracle released its free (no-cost option) for the database called Oracle Application Express (Apex), which is built on top of OWA, and is now (at the time of this writing) in version 4.1.
Apex gives you a browser-based IDE for developing PL/SQL web applications (powered by OWA). Apex also includes a whole bunch of built-in features such as session management, authentication and authorization, interactive reports, flash charts, page templates, navigation, Ajax support, and much, much more.
So if you are interested in looking into web development with Oracle, I suggest you forget about PSPs and look into Apex instead.
In terms of popularity, according to this Powerpoint presentation from Oracle from 2010, Apex had at that time:
80,000 downloads per year
4,000,000 page views per week on apex.oracle.com
Third largest discussion forum on forums.oracle.com
100 consulting companies delivering Apex services
60 blogs about Apex
Used as the user interface for the Oracle Store and Oracle Audit Vault
PSPs are amazing. They have been around for a very long time and have not have gotten much attention. In the realm of web development most people simply do not know they exists and therefore are not considered in the architectural system design.
Yes, Oracle is closed source and expensive. So it’s not the cheapest path. Then again, if an Oracle database is needed and you’re buying it anyway, then the cost is $0 as the right to use PSPs is bundled with the Oracle database licenses.
PSPs have an advantage over PHP and other middleware products because the database generates the html text. For a dynamic website, this equates to performance.
Say for example an html page needs to execute 10 queries in order to piece the page together. With middleware, the data from the 10 queries must travel from the database to the middleware, then the middleware parse and assembles the data and finally delivers the context to the web.
With PSPs, the web server communicates directly to the database. So the database executes its 10 queries internally, assembles the page and delivers the text to web server in one pass.
There are times when a middle layer server is helpful, in my opinion, you need to be doing more than serving web pages to justify the middle layer need.
Furthermore, PSPs provide a way to create your own syntax using tools such as tcl. You can write a tcl script to translate your syntax to what Oracle understands and then have Oracle compile and load it into the database.
As computers get more powerful, more processing can move to the database tier.
Anyway, hard to explain all of the benefits of PSP. Simply put, hardly anyone knows they exists, hardly anyone uses them, they are extremely powerful and are easy to use. I have yet to find anything better.
Followup 8/2015
One thing I wanted to mention--Oracle Apex Developers are using the Oracle Web Toolkit-- which is the same technology as Oracle's PSP technology.
PSPs create Oracle Stored Procedures which output html code. Apex and PSPs both do this the same way.
To this day I've yet to find a better way to serve dynamic web pages. There is a reason why Oracle calls their web product Apex, as this architecture is like no other and has many many advantages over traditional middle tier architectures (such as PSPs, JSPs, Coldfusion, Python, etc...). The bottom line is that you can skip the whole middle tier and serve dynamic-database driven--web pages.
I have an existing application written in Perl. Now I need to integrate this application with OBI. The plan is having a button the user can click on to open OBI in an iframe. OBI resides on a different server from the running application.
Has anyone done this before, know what is the best practice for doing this, and what is the effort of doing this?
Another question is is it possible to add customizations to the OBI displayed in the iframe.?
There are two ways to address the problem that I know of and tried out. According to your needs, one or the other might be more appropriate (or both, they're not mutually exclusive). In both cases, the documentation is good and readily available.
The "Go URL"
The Go URL is documented more thoroughly in the Oracle Business Intelligence Presentation Services Administration Guide. It provides a quick and easy interface to the reports you've already defined, in the form of a URL. All that's needed to get it running is to fill in a few query parameters to direct to the report you want. You might need to include authentication tokens too.
Pros: very easy to try out.
Cons: harder to get security right.
The web services
The presentation server comes with a series of web services that enable a more programmatic way of querying your repository. The functionality offered through this channel goes further: for example most catalog management, including report creation and editing is possible. The full list fills a guide of its own: the Oracle Business Intelligence Web Services Guide.
Pros: better integration (i.e., no need for an IFRAME); easier to get the security right.
Cons: harder to setup; lots of XML; more advanced features (e.g. in-place drilldown) need an HTTP bridge that was a bitch to get right in my case. The generated HTML might clash a bit with yours and require cleaning up, notably in the CSS.
Embedding OBIEE reports inside a non-ADF web app is tough. If you have an option to re-write your web application in ADF, your life will be a lot easier. Just drag and drop reports and visualizations into your web application. Oracle's own Fusion Applications also follow this approach. If your app is analytics heavy, it might be a good option to explore. Here's a link to the Oracle doc.
We have a client that has Oracle Standard, and a project that would be ten times easier addressed using OLAP. However, Oracle only supports OLAP in the Enterprise version.
Migration to enterprise is not possible
I'm thinking of doing some manual simulation of OLAP, creating relational tables to simulate the technology.
Do you know of some other way I could do this? Maybe an open-source tool for OLAP? Any ideas?
You can simulate OLAP functionality using client side tools pointed at a relational database.
Personally I think the best tool for the job is probably Tableau Desktop. This is an amazingly sophisticated front end analytics tool that will make your relational data look multidimensional without much effort, and the tool itself is really mind blowing. They have a free trial so you can take it for a spin. We use Tableau heavily for our own analysis and have been very impressed. Of course, this tool also works with multidimensional databases as well, so if you end up with some cubes at the end of the day you can continue to use the Tableau front end.
As for open source, you could try out Palo - an open source MOLAP server and Excel front end.
If you are interesting in building your own reporting front end and use .NET there are a number of components (such as the DevExpress PivotGrid or the several tools from RadarSoft) that will do the same thing, but will require some elbow grease to get wired together.
I find that it's the schema that causes most of the issues people have with querying a database. OLAP forces you to either a flat table or a Star/snowflake schema which is easy to query and comparably faster to the source oltp tables. So if you ETL your source to a flat table or star schema you should get 80% of what you get from OLAP, the 20% being MDX and analytic functions and performance.
Note that you should get a perf boost with a star schema in relational database as well and Oracle probably has analytic functions in PL/SQL anyways.
Try an open-source OLAP server called 'Mondrian'. IIRC the XMLA API on this is sufficiently compatible with AS to fool Pivot Table Services, which would allow you to use it with ProClarity or Excel.
IIRC it was originally designed to work over Oracle - it is a HOLAP architecture using base tables in the underlying relational store and caching aggregates. You can also make use of materialised views and query rewrite in the underlying Oracle database to do aggregates.
A few more thoughts on this topic:
Actually, Oracle Standard does have an OLAP facility based on a descendent of Express embedded in the database engine and storing its internal data structures in BLOBs in the main tablespaces. Using this is technically possible but not necessarily advisable for the following reasons:
It uses a highly non-standard OLAP query engine with very little third party tool support (AFAIK ArcPlan is the only third-party OLAP front-end supporting 10g+ OLAP), poor documentation for the query language and almost no third party literature describing it. This will work with B.I. Beans if you feel like writing a JSP front-end. It is not compatible with MDX at all. As of early 2006 the best Oracle could do when asked about drillthrough (this functionality was not supported in Discoverer 'Drake') was to recommend building a JSP apllication using B.I. Beans.
The reason that there is no migration path from Standard to Enterprise is that Enterprise is actually what used to be Siebel Analytics. Standard is the old Oracle OLAP/Express descendant which Oracle partners recommended avoiding even before Oracle bought out Seibel. Oracle has not even attempted to support migrating.
From this point of view, Mondrian is actually the most cost-effective OLAP solution for an Oracle Standard Edition shop. You can get a supported version from an outfit called Pentaho1. The next cheapest is Analysis Services, which comes with SQL Server. Following that you are into the likes of Hyperion Essbase, which will be an order of magnitude more expensive than SQL Server or any supported verion of Mondrian.
Whilst MS SQL Server offers OLAP, you'll need an Enterprise licence to use a cube in a live environment that is web-facing.
You might want as well to give a try to www.icCube.com - we're quite flexible on the data-source used to populate the cube and are quite cost effective compared to the big actors of the market.