Two servers configured in Hybris why? what is the purpose of these two servers - tomcat6

In Hybris two servers available.
One is tcServer and second is tomcat server.
What is the use of the two servers and why these two, and what are their purpose?
Is it mandatory to use these two?

The gist is:
Hybris needs a web server to run in as all of its administrative interfaces (hac, hmc, cockpits, backoffice) are web UIs, but also a lot of customers will run webstores integrated with hybris.
Hybris supports both tomcat and tcServer as well as some other application servers, most notably Weblogic and WebSphere afaik.
The detailed information can be found on the hybris wiki, e.g.:
https://wiki.hybris.com/display/release4/SpringSource+tc+Server
https://wiki.hybris.com/display/release5/Third-Party+Application+Servers
Note that support always depends on the hybris version you end up using, but for tomcat and tcServer those are bundled with the hybris download.
(If you don't have a hybris wiki account yet, I strongly suggest you get one (it's free :) ) as you will find a lot of information there, plus there is also a forum at http://experts.hybris.com with quite some activity)
Hope this helps,
Sebastian

Both Hybris server (Tomcat) and tcServer come with hybris installation, you can select the one that fit your requirements (Tomcat is enough most of the time and I personally never used Tc Server).
Hybris server (Tomcat)
Default Hybris server
Optimized and pre-configured server based on Apache Tomcat
Production-ready quality and best suited to run all applications of the
hybris Multichannel Suite
Hybris Server Support is included in the standard hybris Service Level Agreements
Independent of the operating system
...
Tc Server
EDIT : main benefit is to simplify work at production site and provide advanced configuration like (multiple runtime instance from one binary).
Tc Server or SpringSource tcServer (doc) is an enterprise version of Apache Tomcat
Can be activated with : bundled.server.type=tcserver
Simplifies work at production site (monitoring, deadlock detection, Garbage metrics, ams)

Although hybris provides you 2 application servers (Tomcat & tcServer) to choose from and use for your development/testing, by default only Tomcat is configured to be used without doing any additional configuration i.e. when you build and run hybris server without any change in configuration, Tomcat is used. If you want to switch to tcServer (which is another powerful application server), you can update the configuration and switch to it as it is readily available in your hybris commerce suite download. In case, you like to use any other application server e.g. WebLogic, you will have to download it separately and deal with the licensing terms.
Thanks,
Arvind

Related

Oracle Database Express Edition for Mac

I start my second semester of university on the 6th of July and one of my subjects is Database Concepts.
For the subject, we must install two programs "Oracle SQL Developer" and 'Oracle Database Express Edition". There is a Mac version Oracle SQL Developer but only Windows or Linux for Oracle Database Express Edition. I tried to install the latter with Docker but keep running into issues. Mainly when I start it there are no logs and I always get this error:
"The Oracle Database is not configured. You must run '/etc/init.d/oracle-xe-18c configure' as the root user to configure the database.
The following output is now a tail of the alert.log:
tail: cannot open '/opt/oracle/diag/rdbms///trace/alert*.log' for reading: No such file or directory
tail: no files remaining"
I have followed this tutorial and done exactly what he does but at timestamp 11:47 you can see that he has log messages while I just have the error posted above.
https://www.youtube.com/watch?v=CbopSCwATIg
Hoping someone can help me with this, if I can't fix this then I will have to use my Windows partition which isn't very convenient. If there. is no solution to this can someone please recommend an alternative of Oracle Database Express Edition for Mac that is free?
Many thanks.
To run the Oracle Database in MacOS, you have different choices. The most easy ones are:
Oracle Cloud Free Tier
You can setup your free online Oracle Cloud Free Tier environment and configure your local SQL Developer installation to the Cloud environment. https://www.oracle.com/cloud/free/
For further information about the Cloud Free Tier environment, check the posts https://dgielis.blogspot.com/2019/09/best-and-cheapest-oracle-apex-hosting.html from Dimitri Gielis for detailed instructions on how to do that.
Note that this is the only option if you own an ARM64 (M1/M2) based Mac.
Vagrant/VM
For a local setup, this is the most easy way in my opinion, since I'm not an experienced user of Docker. Oracle has made Virtual Machines available for free, https://github.com/oracle/vagrant-projects
Use the OracleDatabase v18.4.0-XE or v19.3.0 image, if you need the database only.
Use the OracleAPEX (v18.4.0-XE) image, if you intend to use APEX as well.
Docker
If you are known to Docker or want to learn it, you can follow the link in #Bjarte Brandt comment https://github.com/bjarteb/oracle-apex-ords. The setup documentation in that link is quite comprehensive.
Update due to Apple's M1/M2 processor
Since Apple introduced new M1/M2 mac's based on the ARM cpu architecture, the only option left available for the moment is the Oracle Cloud Free Tier. Unfortunately, VirtualBox VM doesn’t support the ARM architecture yet and it doesn’t work with Rosetta..
(13/09/2022) Oracle SQL Developer 22.2.1 is now natively available for MacBook M1/M2 clients. Previous versions would need Rosetta to run. Unfortunately, no signs for VirtualBox supporting ARM yet..
If you own a MAC based on the 'old' Intel processor, you would still have the other two options as well.
I will update this answer when more options for M1/M2 mac's become available.

Deploy SQL server database on multiple server using DevOps (an mac as development laptop)

I,
We are currently working on a .net core project that will use multiple databases with the same structure.
In short, this is a multi tenant project and each tenant will use the same web application (multiple instances behind a load balancer) BUT each tenant will have its own database.
We are searching for the best solution to ease our deployment process.
When the application (and DB) is updated, we need to update the database structure on all SQL servers and all databases (one SQL can contain x databases).
FYI, application and SQL server are hosted on AWS, our CI/CD is Azure DevOps.
And last (but not least) limitation: we are working on VSCode only (MAC & Linux laptop).
So, we looked for some solutions :
Using Database projects (.sqlproj) + DACPAC generation deployed using DevOps, but it's not available on VSCode
Using Migration: not working with multiple databases and dynamic connection strings
Using SQL script: too complicated to maintains by hand a SQL script that takes care of possible cases
So could someone give us some advice to solve this problem?
The general solution here is to generate SQL Scripts for each deployment, and integrate those into your CI/CD process.
You could use EF Migrations to generate a SQL Script, that is then tested, deployed to your repo as a first-class asset, and deployed by your CI/CD pipeline. Or you could use SSDT to manage the schema and generate change scripts. But those aren't the only reasonable ways.
If you are modifying the schema by hand without using SSDT, you would normally just use a tool to generate the change script. And go from there.
There are many tools (including SSDT) that help you to diff a development environment against a target production schema and generate the change scripts. Eg Redgate ReadyRoll
Note that if you intend to perform online schema updates you need to review the change scripts manually for offline DDL operations, and to ensure that your code/database changes have the correct forward and backward compatibility to support a rollout while the application is online.
And preparing, reviewing, testing, and editing the database change scripts is not something that everyone on the team dev needs to do. So you can always consider jumping onto a Windows VM for that task.

Creating a Database Software needed

Hi can someone explain to me what the following database software are:
HeidiSQL, MariaDB and XAMPP.
Also do they depend on each other to work? Hope you can help.
Thank You
MariaDB:
Is a open-source database server, basically its a fork of MySQL and they provide support and services, its slightly better than MySQL since they have made some changes to MySQL. MariaDB doesn't depend on anything. Its a complete database product.
HeidiSQL:
Its a fronend-MySQL, its nothing but a UI for interacting with different database servers like MariaDB, Percona, and many more depending on their enhancement. HeidiSQL is just a frond end, If you want to interact with databases, you must connect to one. Yes, heidiSQL is dependent on databases. Latest enhancements support MS SQL Server, which is great :)
XAMPP:
Its like a tech stack similar to LAMP, WAMP etc. XAMPP means Apache HTTP Web Server, MariaDB, PHP, and Perl. X stands for cross platform. XAMPP is dependent on many as you can see its a tech stack.

Solr SQL for Single Solr Instance

I was excited to hear that Solr 6 had an SQL interface, but soon found that it only works with SolrCloud and not a single Solr instance. We currently have two Solr servers. One is a master production server and it is replicated to a slave reporting server. I would love to be able to use SQL on the slave.
So a couple questions.
Is it actually possible to use SQL on a single Solr instance and I just missed something?
If I need to use SolrCloud for SQL, how can I set that up and maintain a similar architecture to what I have now? That is, I only have two hosts, all production traffic including writes go to one host and all background reports go to the other host.
I welcome any other suggestions you might have.
This blog explains how SQL is integrated, and it looks as if you cannot do it with just Solr.
https://sematext.com/blog/2016/04/18/solr-6-solrcloud-sql-support/

Web based solution for team with no Server or database

My team which is a part of a university needs me to develop a web based application for them which can be accessed by any team member. However the university doesn't provide us with a database.
We do have a portion in their server but that's for our public website. Even if I put the application on that server, I need to have a database. I can't use an excel sheet for storing all the data cause it will be huge. I am looking for an optimal solution.
Never fear there are a number of non RDBMS (Oracle, MySQL, MS SQL Server, etc.) solutions around.
You can try many of the document databases under No-SQL banner, with some popular options being:
RavenDB if you are developing your web application in the Microsoft stack.
MongoDB is a great well supported open source document database.
BaseX or Sedna are useful XML databases.
Alternately you can look to Cloud (some offer free services, others are commercial and will need to pay for) databases such as:
Amazon RDS
Elasticsearch
Windows Azure
Choose:
http://www.sqlite.org/
http://www.db4o.com/
Both will give you a database ability with no prior machine configuration or setup package.
For a small team group, specially with no more than 3 developers, I would recommend you to look at CloudBees. They offer a free tier where you can have on the same platform a repository, a Continuous Integration tool, so you can build and test your app every time you do a commit, and a runtime environment where you can deploy a Java, a Play or a PHP application. You can also create free databases.
In the case you wanted to have a visual git repository, you can use GitHub and link your source code with your Jenkins job.
In this way, you don't need multiple tools for your development environment.

Resources