Is there any free tool which can generate data entry and listing screen for a database table(Oracle) based on the metadata. Desired features:
Drop downs for reference data
Abilty to customise the label name, showing/hiding specific column of the table, ordering of columns etc..
Operation on listing screen (modify,delete,activate,deactivate etc.)
import the data from CSV file.
Ability to add custom validation before save/modify the data in DB.
Pre Delete Validations.
Option to choose technology stack e,g, (Struts 2, Spring, Hibernate) or (Struts 1, EJB,DAO pattern) etc.
For Oracle database there is a tool called APEX that can generate views and edit pages starting from db structure.
This is the pointer: http://www.oracle.com/technetwork/developer-tools/apex/overview/index.html
But APEX has its own technology stack and it does not generate code, it's a Access-like framework to handle Oracle db data.
As you are interested in Java technology I urge you to check out JDeveloper. It gets over-looked by Java people because it's not Eclipse but it has lots of cool features. In particular its ADF BC wizards can generate quite sophisticated data-driven components. Find out more.
Oh, and the tool is free as in free beer, although there are licences payable to deploy ADF and TopLink components. Thanks to carpenteri for pointing out the relevant documentation.
these exist (www.enterprise-elements.com) but are certainly not free.
Related
I want to implement a search functionality in my web application that I am building using java technology. I would have to search through the database, depending on the user query and will display the results. Which way can I go about doing this(please take note I am using java technology)??.Thanks.
You can use a product like http://lucene.apache.org/core/ or http://lucene.apache.org/solr/ for this instead of writing this on your own.
Lucene is a high-performance search engine for documents.
SOLR is built on top of Lucene and provides additional features (like hit highlighting, faceted search, database integration or rich document (Word, PDF, ..) search)
Lucene will analyze your text data and build up an index. When performing a search you run a lucene query against this index.
Assuming you mean free text searching of the data in the database...
For free text searching Lucene and/or SOLR are very good solutions. These work by creating a separate index of the data in your database. It is up to you to either pull the data from the database and index it using Lucene/SOLR or arrange your code that writes to the database to also update the Lucene/SOLR index. Given what you have said it sounds like this is being retrofitted to an existing database so pulling the data and indexing it may be the best solution. In this case SOLR is probbaly a better fit as it is a packaged solution.
Another option would be Hibernate Search. Again this would be a solution to use if you are starting out. It would be more difficult to add after the fact.
Also bear in mind some databases support free text searching in addition to normal relational queries and could be worth a look. SQL Server certainly has text search capabilities and I would imagine other databases have some sort of support. I am not too sure how you access these but I would expect to be able to do it using SQL via JDBC. It is likely to be database specific though.
If you just mean normal SQL searching then there are a whole load of Java EE technologies, plain JDBC, Spring templates, ORM technologies (JPA, JDO, Hibernate etc). The list goes on and it would be difficult to suggest any particular approach without a lot more info.
I want to develop a desktop application that allows users to search through json files.
These files (around 50.000) are predefined. They should be shipped with the application itself.
My question is, what would be the best way to ship these documents with the application and at the same time allow users to search for documents containing certain values, e.g. in sql terms: show all documents where some json value within the document like %Example%.
I thought about using some kind of NoSQL solution, preloading the files into the db and bundle it with the app. I've looked at some solutions, but I'm not really sure which one would be best suited for my needs or if it's even the best approach.
Bottom line is, I can't have my users install a db on their system, that is way too complicated.
I'd prefer a solution suitable for java or python.
Thanks for your help!
You can use an embedded database, memory based database (like hsql) or a file-based database like sqlite.
Neither require any installation from your end users. You just have to package the libraries as part of your application install bundle (and of course, the engine itself).
If you are looking for a k/v store, then the good ol' Berkeley DB should suffice. If you are really looking for a "embedded NoSQL solution", try MooDB.
Mongo DB comes in an embeddable version: https://github.com/flapdoodle-oss/embedmongo.flapdoodle.de
I've used it for integration testing (mocking a Mongo server) and it works really well!
Anytime I read document and search, I also think of Solr: http://lucene.apache.org/solr/
Our task is to create many statistical analyses from census data (much data but easy analysis - mostly (sub)sums of data). The analyses are to be represented as tables and charts (in web - 2 languages - and pdf)
Lets assume the problem of storing the data is solved (SQL, good structure). The web-application (GWT) and Pdf (iText) Software is mostly done. We "only" have to change the data-backend.
what is a good strategy to efficiently create those analysis and there representations (tables, charts)?
two different ways come to my mind:
simple java programming: jdbc or jpa, jfreechart (here we have experience, boring programming)
bi tools birt, jasper, pentaho, palo... (learning to use them, boring pointing and clicking)
but is there probably a third way? a way between those 2: using the bi tool's apis to program the reports??
Is it worth to learn using a bi tool (i think with it, its much easier to create additional reports or adjust existing ones?)
What do you think?
I've been in a similar situation recently. I've evaluated Pentaho BI server, so my remarks are based on that:
Pros of a custom system implemented in Java:
Possibility to exactly customise according to user needs
No need for star schema (Pentaho analytics only works on star schemas! Pentaho reporting does not need a star schema, it can work by simple SQL statements)
Due to not needing a star schema, you can integrate is easier with the rest of the system. By that I mean that you can reuse existing data sources. Also, by having a self-made UI, you can easily integrate it into the rest of the enterprise infrastructure (web portals, etc.)
Speed: custom SQL tuning, custom UI that is fast for your dataset, etc.
Pros of using a ready-made solution (eg. Pentaho BI Server):
After initial setup, even non technical users can create new analytics or modify existing ones. Easy exporting to excel, pdf, etc.
Pentaho comes with many supporting tools (ETL tool to import data, scheduler to create reports periodaically, etc.). It would be a huge cost to re-implement all these. Also, the new Pentaho server has a dashboard feature, which means you can have a screen with charts and tables that updates as new data is coming in.
If you can settle with the features and need no extra customization, deployment time is only a fraction of what it takes to develop new software.
Pentaho has extensive Java based APIs, you can create reports entirely in Java code, etc. Most of the core is open source, AFAIK only those parts are closed source which are in the Enterprise server (dashboard, analytics view, etc.)
As far as I know in case of Pentaho, there are APIs for the following:
Create and modify reports, generate reports in various formats
Access the scheduler
Create custom widgets for the Dashboard
Access the OLAP engine (eg. create an MDX expression and get the results)
Since the BI server is a Spring container, more or less you can integrate it as any spring app (eg. you can access the Spring Security settings and plugin in your custom enterprise security, etc.)
Though not an API, there are ways to integrate Pentaho's web based report viewer into other web applications (the easiest way is to have a IFRAME and customize the report using URL parameters)
You might have a look to icCube :
JAVA based for the back-end
easy to create a cube model from your SQL data structure
front end (charts) is made of pure Javascript API (www, www)
possibility to use your own charting library
No point and click would be required I guess. Once setup, you would have great potential for providing analysis that goes beyond simple reporting (e.g., histogram comparison).
(i even don't know if i need a cms)
what i need is: a simple web based way for a functional department to create/edit multilingual text documents (probably tagged with customizable semantic tags).
The containing Texts are used in an RIA showing statistical data and infos about it. This infos and other user visible Stings should be fully managed by functional department.
the destination of the this texts/documents is an embedded apache derby db - delivered together with RIA release (as zip-File,- the texts are static).
So on the other hand the cms (if this is an cms) should provide an interface to export the data - either a simple db-structure to get data via jdbc or a java api.
so what cmc/?? do you suggest for this usecase
thx in advance
Maybe you could use a java web framework like Tapestry to create a simple web application.
It has some premade components too easily modify and save data to a database.
I am in the process of designing a financial web page (using Java, Wicket, JQuery..) where one of the page has around 5 tables and each table has around 10-15 columns. These columns should be highly configurable that means some clients want to view/hide selected columns or some clients may want to see column name as different from other client. I want to make this page highly configurable through some XML files or some other way and I do not want to change java related code for this. Are there any APIs or tools available for controlling or configuring web page tables and columns?
DataTables
Flexigrid
Both of these are jQuery plugins that are very nice to use (I have utilized both). I believe DataTables should be able to do everything you are looking for (and quite a bit more). Check out both sites and see what you think.
For more suggestions, check out this link: 15 Great jQuery Plugins for Better Table Manipulation