Portal Java adalah kelas khusus aplikasi web yang memungkinkan Anda mengembangkan sistem informasi yang agak kompleks dan modular yang menyerupai Sistem Manajemen Konten (CMS), tetapi untuk sektor korporat. Ini menyiratkan bahwa mereka biasanya memiliki kemampuan untuk bekerja dengan hierarki halaman, aplikasi, pengguna, proses, internasionalisasi didukung, dan ada sarana integrasi ke dalam infrastruktur informasi perusahaan.
Di pasaran untuk sistem ini, terdapat produk komersial dari perusahaan terkenal seperti Oracle, SAP, IBM (sekarang HCL Technologies Ltd), Red Hat JBoss, dan sebagai tambahan ada juga portal Liferay dengan versi open source yang layak, serta sistem portal berorientasi topik dan pendidikan lainnya. , tidak ada cukup portal, tetapi sistem informasi yang mendukung teknologi portal seperti DMS Alfresco. Berarti suportif bahkan dalam teori aplikasi yang dikembangkan untuk satu sistem dapat diinstal pada sistem lain, tetapi dalam kenyataannya ini tidak sepenuhnya terjadi. Pabrikan menambahkan kemampuan mereka sendiri yang tidak kompatibel dengan yang lain, yang membuat fitur tak tertandingi ini tidak terealisasi.
. , , .. . . Portlet 3.0 .
“”, . .
java . Portlets 1.0 , Portlets 2.0, Portlets 3.0.
, - - ;). npm spring-boot . .. SPA , “ ” . , . : JSON , , , xml-, .
, - -. .. java , Spring, Struts, Faces, Jersey . PHP Ruby.
WSRP .
. 4- . .
Java , “” .
Apache Pluto, , .. .
.
Unix-like Windows git shell . git cmd.exe
git clone https://github.com/apache/portals-pluto
. , - , 8 ant. .
mvn package
ant -f dist-build.xml -DpackageOnly=true
-DincludeDemos=true , - , demo/pom.xml build
<finalName>${project.name}</finalName>
Windows pom.xml,.. -
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
target/dist , . , .. .
pluto-3.1.1-SNAPSHOT-bundle.tar.bz2
.
, :\projects
cd c:\projects
tar xvjf c:\portals-pluto\pluto-3.1.1-SNAPSHOT-bundle.tar.bz2
cd pluto-3.1.1-SNAPSHOT
bin\startup.bat
startup.sh .
, .
, :
tail logs\catalina-.out -f
Windows .
org.apache.catalina.startup.Catalina.start Server startup
, ,
- pluto .
.
, , Apache Pluto , , , , Liferay WebSphere/HCL DXP.
Pluto Admin, .
http://localhost:8080/pluto/portal/Pluto%20Admin
demo, , .war webapps/.
. maven, . windows M2_HOME M2_HOME\bin Path.
cd projects
mvn archetype:generate -DarchetypeGroupId=org.apache.portals.pluto.archetype -DarchetypeArtifactId=mvcbean-jsp-portlet-archetype -DarchetypeVersion=3.1.0 -DgroupId=com.mycompany -DartifactId=hello-portlet
- Enter.
pom.xml .
<finalName>${project.name}</finalName>
.
, .. pluto .
cd hello-portlet
mvn -Ppluto package
, , . .. “” .
pluto liferay-cdi liferay-spring, Liferay . .. .. , .
target/’ Java- .war .
.war webapps.
- .
.
, Firefox, Chrome. - , , , .war webapps/ . , , .
, , , , , . VIEW render , EDIT, HELP . “ ” == “ ”. .. . . ( ) , , , .
hello-portlet/ maven IntelliJ IDEA. , gradle , .. . maven.
, MVC .
, .. , portletName portletNames. , Portlet .
:
@Inject - -
@RenderMethod -
@ActionMethod - GET, POST “ ”
@ServeResourceMethod - JSON
- actionName, id.
WAR , ..
src/main/webapp/resources
@RenderMethod(portletNames = "HelloPortlet", include = "/WEB-INF/jsp/helloView.jsp")
<portlet:actionURL var="placeOrderURL" name="placeOrder"></portlet:actionURL>
<portlet:resourceURL var="getSettingsURL" id="getSettings"></portlet:resourceURL>
rest .
request.setAttribute JSTL (.. ) JSP
<%
String ctxPath = request.getContextPath();
List<String> settings = (List<String>) renderRequest.getAttribute("settings");
%>
, . , . .
, <portlet:namespace> contextPath .. id , , , .
, . React, Angular, Vue . -, .. . skinny-widgets (https://www.npmjs.com/package/skinny-widgets) - .
GET public render parameters
@PortletConfiguration(portletName="portlet1", publicParams = {"categoryId"},
… { }
)
POST , .
RenderURL renderURL = resp.createRenderURL();
MutableRenderParameters renderParams = renderURL.getRenderParameters();
String idString = renderParams.getValue(name);
Liferay ( ) , .
multipart
Part part = request.getPart("image");
“ ” , . , @PortletConfiguration, .
, PortletPreferences, .. . Apache Pluto , Liferay .
@PortletConfiguration portlet.xml, .
“ ”, demo/ . “ ?”, “ ?”.
, .. , , weld, jandex 1.2.2.Final lib/ .
, . , , .
- : http://bitbucket.org/finistmart
JAX-RS - MySQL c Postgres.
: ;) .
, .
Pluto Liferay ( i7 2 U 8 Gb RAM , liferay, , ;) .
Liferay, , sourceforge.net
Di Liferay, juru masak portlet ditempatkan di deploy / , dan juru masak server di tomcat-xyz / webapps dan untuk pengembangan yang nyaman di portlet-ext.properties Anda perlu menambahkan parameter (yang dapat di- googling ) yang menonaktifkan berbagai caching. Setelah beberapa penyesuaian, ini juga bisa menjadi pilihan yang baik untuk pengembangan.