Background

MatHem.se is Sweden's largest online grocery store and a leading e-commerce company in the grocery trade. MatHem.se combines a complete grocery store online with recipes and subscriptions for ready-made food bags. The food is delivered to customers’ doorsteps with its own refrigerated trucks to ensure an unbroken cooling chain. The company also has Tasteline.com, which is Sweden's leading recipe site with 30,000 recipes, inspirational articles, dietary advice etc., and with about 3 million visits a month.

Today the company is located in Stockholm, Uppsala, Södertälje, Gothenburg, Malmö, Lund and Helsingborg and the surrounding area. MatHem.se has won a number of awards and was, among other things, named Sweden's Best Food Store online 2012, 2011 and 2010, and won the Gold Mobile 2012 for best mobile innovation.

Challenge

MatHem wanted to streamline their product images and trade item information exchanging process using reputed services like Validoo Item and Validoo Mediastore. Since the services like Validoo are in compliance with GS1’s global standard, a platform which enabled communication via AS2 protocol was a must for MatHem. Furthermore, the AS2 platform needed the ability to handle highly concurrent, long-running message loads. Moreover, since product images which are generally larger in size are also transferred via AS2 in this use case, managing storage was also a concern. Further, MatHem required an intuitive dashboard to manage, monitor and administer the AS2 transactions.

Solution

MatHem selected AdroitLogic AS2 Gateway On-Premise solution as the AS2 messaging platform, with a custom integration mechanism to support Amazon S3 as the integration point between the AS2 Gateway deployment and MatHem backend systems.

In the inbound AS2 message flow, AS2 messages are received over HTTPS by the AS2 Gateway On-Premise deployment, and a successful Message Disposition Notification (MDN) is sent back to the partner. Then the trade item information or product images received in the message are uploaded to a pre-configured bucket in Amazon S3, under a key composed of the timestamp, and station and partner AS2 identifiers of the received message. The MatHem backend processing system looks for the files in the S3 bucket and continues the rest of the processing from there on. Since the message load and average payload size is higher, using a storage service with auto-scaling capability for a reasonable cost was a must, which is why Amazon S3 was used.

In the outbound AS2 message flow, the MatHem backend processing system uploads the files to be sent into an Amazon S3 bucket. The AS2 Gateway, which is continuously polling for outgoing files, composes and sends out AS2 messages after downloading these files from S3.

In an environment with highly concurrent transactions, there could be failures due to network delays or temporary unavailability of various services. Therefore automatic retrying capability with a backo up to a certain number of retries was included the solution so that temporary failures will not require manual intervention. However, manual retrying and re-processing capabilities were also added for use if required.

Deployment

MatHem’s AS2 Gateway deployment runs entirely on Amazon Web Services (AWS) infrastructure. The AS2 Gateway server and MySQL server are running on EC2. The front end is hosted with AWS S3 static website hosting. Additionally, AWS S3 is used as the integration point between the AS2 Gateway and MatHem backend processing systems as described earlier in the Solution section.

"At MatHem we value a can-do, problem-solving mentality and hence AdroitLogic was the right fit for us. The AS2Gateway On-Premise solution provided by them perfectly fits our way of working and makes the integration to our systems much easier and faster. The team at AdroitLogic has proven themselves as a solution-focused, attentive and valuable partner to MatHem. Furthermore, they provide excellent support and quick communication, and we highly recommend them as a solutions partner."

Jonas Larson
Tech Lead
MatHem i Sverige AB

Download Casestudy