Categories
Apps

Starting JAX-RS and REST Web Services Using Apache Wink: Part One

This article explains the basic concepts of Jakarta RESTful web services (specifically, JAX-RS, formerly the Java API for RESTful web services). Inside, we detail the step-by-step implementation of web services using Apache Wink.

Before we begin, let’s revisit some of the essential terms you should know to better understand web services, REST, and related concepts.

Extensible Markup Language (XML): XML is a A standard for document markup that uses generic syntax to mark-up data or information with easy to digest, human-readable tags. The XML standard is endorsed by the World Wide Web Consortium (W3C).

JavaScript Object Notation (JSON): JSON is a data-interchange format, lightweight in nature, based upon JavaScript. JSON is programming-language neutral. However it does use conventions from developer languages including C, C++, C#, Java, JavaScript, Perl, and Python.

JSON Schema: This is a JavaScript object notation document describing the structure of JSON and that also constrains the information inside of other JSON documents.

RESTful: Refers to software and services that adhere to Representational State Transfer (REST) constraints.

XML: Extensible Markup Language.

XML Namespace: A collection of names that are identified by a Uri reference. They are used in XML documents for element types and attribute names.

XML Schema: An XML document that describes the structure and constrains the contents of other XML documents.

XML Schema Definition Language: An XML syntax for writing XML schemas, recommended by the World Wide Web Consortium (W3C).

HATEOAS: From Wikipedia: “Hypermedia as the Engine Of Application State (HATEOAS) is a constraint of the Rest Application Architecture that distinguishes it from other network application architectures. With HATEOAS, a client interacts with a network application whose application servers provide information dynamically through hypermedia. A Rest client needs little to no prior knowledge about how to interact with an application or server beyond a generic understanding of hypermedia.

Introduction to JAX-RS and REST

This product web service was built using Apache Wink. It can add, update, delete and retrieve products in Memory. REST stands for Representational State Transfer and is based on the concepts of Roy Fielding’s dissertation work as part of his thesis. It works on HTTP and has the following differences when compared to SOAP:

It works using the HTTP protocol, as opposed to SOAP, which uses its own protocol.
It is capable of using HTTP GET, PUT, POST, and DELETE. SOAP only uses POST.
It relies on the HTTP infrastructure. SOAP is transport neutral.
Producers and consumers are aware of content exchange.
At this time, many non-functional requirements or any WS-* standards are not supported.

Installations Required for JAX-RS and REST

Eclipse 4.2.0.
Apache Wink 1.4.0.
Apache Tomcat 8.0.9.
JDK 1.7.0/JRE 1.7.0.

Creating a Server/Web Service

The following are the steps needed to build the web service using Apache Wink:

Step One: Create a Dynamic Web Project in Eclipse.

Step Two: Build a Core Application that performs CRUD Operations.

/**
*
*/
package me.sumithpuri.rest.persistence;
import java.util.ArrayList;
import java.util.List;
import me.sumithpuri.rest.vo.Product;
/**
* @author sumith_puri
*
*/
public class ProductPersistenceManager {
private List productDatabase = new ArrayList();
private static ProductPersistenceManager persistenceManager;
private static int id=0;
private ProductPersistenceManager() {
}
public void add(Product product) {
System.out.println(“database: added one product”);
// atomic id creation
id++;
product.setId(id);
productDatabase.add(product);
}
public List get() {
System.out.println(“database: retrieved all products”);
return productDatabase;
}
public void update(long productId, String productName) {
System.out.println(“database: modified one product”);
for(int i=0;i<productDatabase.size();i++) {
Product product = productDatabase.get(i);
if(product.getId()==productId) {
product.setName(productName);
productDatabase.remove(i);
productDatabase.add(i,product);
}
}
return;
}
public void delete(long productId) {
System.out.println(“database: deleted one product”);
for(int i=0;i<productDatabase.size();i++) {
Product product = productDatabase.get(i);
if(product.getId()==productId) productDatabase.remove(i);
}
return;
}
public static ProductPersistenceManager getInstance() {
if(persistenceManager==null) {
synchronized(ProductPersistenceManager.class) {
if(persistenceManager==null) {
persistenceManager = new ProductPersistenceManager();
}
}
}
return persistenceManager;
}
}

Step Three: Add the Supporting JAR Files in the Build Path.

Apache Wink Rest Web Services

Step Four: Create the REST Web Service using Apache Wink (GET, POST, DELETE, PUT).

package me.sumithpuri.rest.webservice;

import java.util.List;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import me.sumithpuri.rest.persistence.ProductPersistenceManager;
import me.sumithpuri.rest.vo.Product;

/**
* @author sumith_puri
*
*/
@Path(“product”)
public class ProductWebService {
ProductPersistenceManager persistenceManager = ProductPersistenceManager.getInstance();
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getProducts() {
List products = persistenceManager.get();
String productList = new String();
for(Product producti: products) {
productList+=producti.toString() + “\n”;
}
// return as plain text – other types include xml, json
return productList;
}

@POST
public String addProducts(String productStr) {
Product product = new Product();
product.setName(productStr);
persistenceManager.add(product);
return productStr;
}

@DELETE
@Path(“/{id}”)
public void deleteProduct(@PathParam(value=”id”) long id) {
persistenceManager.delete(id);
return;
}

@PUT
@Path(“/{id}”)
public void modifyProduct(@PathParam(value=”id”) long id, String productName) {
persistenceManager.update(id, productName);
return;
}
}

Step Five Configure the Application for Apache Wink.

To allow Apache Wink to locate this service as a REST web service, you can either define an additional class or configure an application file. We are using an application file to mention all our web services.

You can place this under WEB-INF/and name the file simply ‘application’ (without any extension).

me.sumithpuri.rest.webservice.ProductWebService

Next, you need to specify the servlet-related configuration for allowing Apache Wink REST Servlet to locate this application configuration. You do that by specifying the location of ‘application’ as the parameter ‘applicationConfigLocation’ in WEB-INF/web.xml

products

restService
org.apache.wink.server.internal.servlet.RestServlet

applicationConfigLocation
/WEB-INF/application

restService
/rest/*

Step Six: Deploy as an Apache Tomcat Web App, directly:

REST Web Services Apache Wink

Create a Client/Web Service Client

The steps to test the web service or write a REST client are as follows:

Step One: Create a Java project in Eclipse.

Step Two: Include the Support Client JAR files in the Classpath.

Create-Java-Project-Eclipse

Step Three: Build the Client to Test or Access the GET method.

Step Four: Build the Client to Test or Access the POST method.

Step Five:. Build the Client to Test or Access the DELETE method.

Step Six: Build the Client to Test or Access the PUT method.

package me.sumithpuri.rest.client;

import javax.ws.rs.core.MediaType;

import org.apache.wink.client.ClientConfig;
import org.apache.wink.client.Resource;
import org.apache.wink.client.RestClient;

/**
* @author sumith_puri
*
*/
class ProductRESTClient {

static String REST_WEB_SERVICE=”http://localhost:8080/products/rest/product”;
static ClientConfig clientConfig = new ClientConfig();

/**
* @param args
*/
public static void main(String[] args) throws Exception {

try {

ProductRESTClient restClient = new ProductRESTClient();
System.out.println(“Apache Wink Based REST Client”);
System.out.println(“Sumith Kumar Puri (c) 2015”);
System.out.println(“=============================”);

restClient.configureClient();
System.out.println();

restClient.invokeGET();
System.out.println();

String product=”Sumith Puri” + (int) (Math.random()*9999);
restClient.invokePOST(product);

System.out.println();
product=”Sumith Puri” + (int) (Math.random()*9999);
restClient.invokePOST(product);

System.out.println();
product=”Sumith Puri” + (int) (Math.random()*9999);
restClient.invokePOST(product);

System.out.println();
product=”Sumith Puri” + (int) (Math.random()*9999);
restClient.invokePOST(product);

System.out.println();
restClient.invokeGET();

System.out.println();
restClient.invokeDELETE(2L);

System.out.println();
restClient.invokeGET();

System.out.println();
product=”Sumith Puri” + (int) (Math.random()*9999);
restClient.invokePOST(product);

System.out.println();
product=”Sumith Puri” + (int) (Math.random()*9999);
restClient.invokePOST(product);

System.out.println();
restClient.invokeDELETE(4L);

System.out.println();
restClient.invokeGET();

System.out.println();
restClient.invokePUT(3L,”Sumith Puri”);

System.out.println();
restClient.invokeGET();
} catch (Exception e) {

e.printStackTrace();
}
}

public void configureClient() {

}

public void invokeGET() {

System.out.println(“Testing GET command….”);
RestClient restClient = new RestClient(clientConfig);
Resource resource = restClient.resource(REST_WEB_SERVICE);
String response = resource.accept(“text/plain”).get(String.class);
System.out.printf(response);
System.out.println(“…GET command is successful”);
}

public void invokePOST(String product) {

System.out.println(“Testing POST command…”);
RestClient restClient = new RestClient(clientConfig);
Resource resource = restClient.resource(REST_WEB_SERVICE);
resource.contentType(MediaType.TEXT_PLAIN).accept(MediaType.TEXT_PLAIN).post(String.class,product);
System.out.println(“…POST command is successful”);
}

public void invokePUT(Long id, String productName) {

System.out.println(“Testing PUT command…”);
RestClient restClient = new RestClient(clientConfig);
Resource resource = restClient.resource(REST_WEB_SERVICE+”/”+id);
resource.contentType(MediaType.TEXT_PLAIN).accept(MediaType.TEXT_PLAIN).put(String.class, productName);
System.out.println(“…PUT command is successful”);
}

public void invokeDELETE(Long id) {

System.out.println(“Testing DELETE command…”);
RestClient restClient = new RestClient(clientConfig);
Resource resource = restClient.resource(REST_WEB_SERVICE+”/”+id);
resource.contentType(MediaType.TEXT_PLAIN).accept(MediaType.TEXT_PLAIN).delete();
System.out.println(“…DELETE command is successful”);
}
}

The following is the output from the first run of the client:

JAX-RS and REST Web Services

Conclusion

In this blog, you have seen how to build REST web services using Apache Wink for basic data types. Next, I will write about how to include Jackson or Jettison as the stream reader or stream writer JSON libraries so that we can read and write complex or application object types. Stay tuned!

Sumith Puri is a Principal Java/Java EE Architect, a Hard-Core Java // Jakarta EE Developer with 16 (and counting) years of experience. He’s a Senior Member of ACM and IEEE, DZone Core, Member, CSI*; DZone MVB, and Java Code Geek. He holds a Bachelor of Engineering (Information Science & Engineering) from Sri Revana Siddeshwara Institute of Technology, completed the Executive Program in Data Mining & Analytics at the Indian Institute of Technology, and the Executive Certificate Program in Entrepreneurship at the Indian Institute of Management. His experience includes SCJP 1.4, SCJP 5.0, SCBCD 1.3, SCBCD 5.0, BB Spring 2.x*, BB Hibernate 3.x*, BB Java EE 6.x*, Quest C, Quest C++ and Quest Data Structures.

The post Starting JAX-RS and REST Web Services Using Apache Wink: Part One appeared first on Developer.com.

Read more: developer.com

Categories
Technology Videos

INSANE INVENTIONS THAT ARE WORTH YOUR ATTENTION


For copyright matters please contact us at: copymanager.mn@gmail.com

Mind Warehouse ► https://goo.gl/aeW8Sk

1. Vuzix Blade Smart Glasses
https://youtu.be/F-_tXBgINDI
https://www.youtube.com/channel/UCMh4hWRHX_1QZ98UZygR30Q

2. SuperCalla
https://youtu.be/OKSKELSf11o
https://youtu.be/8vJp33sUFRg
https://youtu.be/HjXSXe4Spyg
https://youtu.be/yy-By0zuj6s
https://www.youtube.com/channel/UCo6DkfsnGbANOOA6uQ3x7MA

3. Fingerbot Plus
https://youtu.be/PlIY8SVdKSc
https://www.youtube.com/channel/UCeO77Dv7qYRxTjHYU1llNfg

4. Pineapple Keyboard (Preview)
https://youtu.be/bZw8GzZ7DbM
https://youtu.be/i0XybL9lTCo
https://www.youtube.com/channel/UCT2dezZjpWPRAB9Yh1pEzCg

5. Catson
https://v.kickstarter.com/1620502747_2d1acd82fed424677262894b60fca73a88a75c1c/projects/4058445/video-1068190-h264_high.mp4

6. Shower Power
https://v.kickstarter.com/1620497288_f72cfa1a75fc365d9de2c5a164d00067d9ab35d6/projects/4033973/video-1065588-h264_high.mp4

7. Capsbee
https://youtu.be/nvut8k6AZg0
https://www.youtube.com/channel/UCcWntaB7ZJmoHHLntiMo9SQ

8. Boeleo
https://www.kickstarter.com/projects/1426670286/boeleo-4g-touch-screen-pen-scanner-translator-and-recorder

9. iSwift Pi
https://youtu.be/X1cJcwmm2m0
https://www.youtube.com/channel/UCfH7CvVayT7OIzPjxI_zsjQ

10. ZOOOII
https://youtu.be/_lmnRAklskM
https://youtu.be/nigFHU_oL_g
https://youtu.be/FajjS-UB4LQ
https://www.youtube.com/channel/UCLGSTbzy2SuPhy1g2WRaIuw

00:00 – VUZIX BLADE SMART GLASSES
01:28 – SUPERCALLA
02:34 – FINGERBOT PLUS
03:38 – PINEAPPLE KEYBOARD (preview)
04:14 – CATSON
05:24 – SHOWER POWER
06:22 – CAPSBEE
07:00 – BOELEO
08:07 – ISWIFT PI
08:51 – ZOOOII

Read more: youtube.com

Categories
Software

Google celebrates World Password Day 2021 with hope for a passwordless future

Today is World Password Day 2021, and while companies are touting the best password management practices, Google is hoping someday we won’t have to worry about them at all. According to the company, even the strongest passwords can be compromised. 

“You may not realize it, but passwords are the single biggest threat to your online security – they’re easy to steal, they’re hard to remember, and managing them is tedious. Many people believe that a password should be as long and complicated as possible – but in many cases, this can actually increase the security risk,” Mark Risher, director of product management, identity and user security at Google, wrote in a blog post

Currently, the company provides two-step verification to confirm the identity of users. To expand this feature, the company plans to automatically start enrolling users if their accounts are appropriately configured, Risher explained. In addition, the company is working on advanced security features to make a multi-factor authentication experience that’s even more secure than passwords. 

“For example, we’ve built our security keys directly into Android devices, and launched our Google Smart Lock app for iOS, so now people can use their phones as their secondary form of authentication,” Risher wrote. 

Until it can reach a point where passwords are no longer necessary, Google will continue to invest in tools and features that keep passwords and personal information safe. The company recently launched a password import feature that stores up to 1,000 passwords from third-party sites for free. 

“One day, we hope stolen passwords will be a thing of the past, because passwords will be a thing of the past, but until then Google will continue to keep you and your passwords safe,” wrote Richer.  

What others in the industry are saying about passwords: 

Ralph Pasini, president of Exabeam, explained World Password Day 2021 is more important than ever as organizations navigate to this new reality of working from home. “Cybercriminals will capitalize on any opportunity to collect credentials from unsuspecting victims. Just recently, scammers began preying on people eagerly awaiting vaccinations or plans to return to the office as a means to swipe their personal data and logins, for instance,” he said. “The most common attack technique that I often see in the breach reports that I read is stolen credentials. This is a never ending battle between the security industry and cybercriminals, but there are ways organizations can protect themselves against credential theft.”

Mathew Newfield, chief infrastructure and security officer at Unisys, believes there are two simple tips to create complex and sure passwords: 1. Use a private passphrase rather than a single word. 2. Create a password key. Together, passphrases can be transformed into complex passwords. And as a bonus tip, he recommends periodically changing your passwords.

Russell Reeder, CEO of cloud-based data protection company Infrascale, provided five tips to successfully secure your password: 

Be unpredictable: To minimize the risk of brute force and dictionary attacks 
Be creative: By creating a phrase, using special characters, and numbers. If you can’t think of a good password, Reeder suggested using a password generator.
Be long: The longer the password, the more possible combinations and permutations there are.
Be smart: Don’t share your credentials and be mindful of phishing. 
Be fresh: Update your passwords regularly. 

For enterprises, Brian Spanswick, chief information security officer at Cohesity, says to implement multi-factor authentication to protect against phishing schemes and password hacks. In addition, increase employee education and give them the tools they need to create more complex passwords and avoid phishing attempts. 

Lastly, Wes Spencer, CISO of Perch Security, said to never reuse a password or relay on your password online. “Most successful breaches occur when a stolen password from one platform is leveraged against another system that shares the same password.”

The post Google celebrates World Password Day 2021 with hope for a passwordless future appeared first on SD Times.

Read more: sdtimes.com

Categories
News

From pickup basketball to market domination: My wild ride with Coupang

Ben Sun
Contributor

Share on Twitter

Ben Sun is co-founder and general partner at Primary Venture Partners, a seed-stage VC firm based in NYC.

A month ago, Coupang arrived on Wall Street with a bang. The South Korean e-commerce giant — buoyed by $12 billion in 2020 revenue — raised $4.55 billion in its IPO and hit a valuation as high as $109 billion. It is the biggest U.S. IPO of the year so far, and the largest from an Asian company since Alibaba’s.

But long before founder Bom Kim rang the bell, I knew him as a fellow founder on the hunt for a good idea. We stayed in touch as he formed his vision for what would become Coupang, and I built it alongside him as an investor and board member.

As a board member, I’ve observed a brief quiet period following the IPO. But now I want to share how exactly our paths intersected, largely because Bom exemplifies what founders should aspire to and should seek: big risks, dogged determination and obsessive responsiveness to the market.

Bom fearlessly turned down an acquisition offer from then-market-leader Groupon, ferociously learned what he didn’t know, made a daring pivot even after becoming a billion-dollar company, and iteratively built a vision for end-to-end market dominance.

Why I like talking to founders early

In 2008, I met Bom while playing a weekend game of pickup basketball at Stuyvesant High School. We realized we had a mutual acquaintance through my recently sold startup, Community Connect Inc. He told me about the magazine he had sold and his search for a next move. So we agreed to meet up for lunch and go over some of his ideas.

To be honest, I don’t remember any of those early ideas, probably because they weren’t very good. But I really liked Bom. Even as I was crapping on his ideas, I could tell he was sharp from how he processed my feedback. It was obvious he was super smart and definitely worth keeping in touch with, which we continued to do even after he relocated to go to HBS.

I soon began investing in and incubating businesses, starting mostly with my own capital. When I got a call from an executive recruiter working for a company in Chicago called Groupon — who told me they were at a $50 million run rate in only a few months — I became fascinated with their model and started talking to some of the investors, former employees and merchants.

Inspired, and as a new parent, I decided to launch a similar daily-deal business for families: Instead of skydiving and go-kart racing, we offered deals on kids’ music classes and birthday party venues. While I was working on this idea, John Ason, an angel investor in Diapers.com, said I should meet with the founder and CEO Marc Lore. By the end of the meeting, Marc and I etched a partnership to launch DoodleDeals.com co-branded with Diapers.com. The first deal did over $70,000 — great start.

I’ve observed a brief quiet period following the IPO. But now I want to share how exactly our paths intersected, largely because Bom exemplifies what founders should aspire to and should seek: big risks, dogged determination, and obsessive responsiveness to the market.

All that time, I kept in touch with Bom. In February 2010, we were catching up over lunch at the Union Square Ippudo, and he asked if I had heard of Buywithme, a Boston-based Groupon clone. He hadn’t yet heard about Groupon, so I explained the business model and shared the numbers. He thought something similar might transfer well to South Korea, where he was born and where his parents still lived.

This kind of conversation is exactly why I love working with founders early, even before the idea forms: You learn a lot about them as they explore, wrestle with uncertainty and eventually build conviction on a business they plan to spend the next decade-plus building. Ultimately, success comes down to founders’ belief in themselves; when you develop the same belief in them as an investor, it is pretty magical. I was starting to really believe in Bom.

The idea gets real — and moves fast

I'm not Korean — I am ethnically Chinese — so Bom put together slides on the Korean market and why it was perfect for the daily-deal model. In short: a very dense population that’s incredibly online.

I’m not Korean — I am ethnically Chinese — so Bom put together slides on the Korean market and why it was perfect for the daily-deal model. In short: a very dense population that’s incredibly online. Image Credits: Ben Sun

I told Bom he should drop out of business school and do this. He said, “You don’t think I can wait until I graduate?” I responded, “No way! It will be over by then!”

First-mover advantage is real in a business like this, and it didn’t take Bom long to see that. He raised a small $1.3 million seed round. I invested, joined the board. Because of my knowledge of the deals market and my entrepreneurial experience, Bom asked me to get hands-on in Korea — not at all typical for an investor or even a board member, but I think of myself as a builder and not just a backer, and this is how I wanted to operate as an investor.

Once he realized time was of the essence, Bom was heads down. For context, he was engaged to his longtime girlfriend, Nancy, who also went to Harvard undergrad and was a successful lawyer. Imagine telling your fiancée, “Honey, I am dropping out of business school, moving to Korea to start a company. I will be back for the wedding. Not sure if I will ever be coming back to the U.S.”

I emailed Bom, saying: “Bom — honestly as a friend. Enjoy your wedding. It is a real blessing that your fiancée is being so supportive of you doing this. Launching a site a few weeks before the wedding is going to be way too distracting and she won’t feel like your heart is in it. Launching a few weeks later is not going to make or break this business. Trust me.”

Bom didn’t listen. He launched Coupang in August 2010, two weeks before the wedding. He flew back to Boston, got married and — running on basically no sleep — sneaked out for a 20-minute nap in the middle of his reception. Right after the wedding, he flew back to Seoul. Nancy has to be one of the most supportive and understanding partners I have ever seen. They are still married and now have two kids.

Jumping on new distribution, turning down an acquisition offer

Read more: feedproxy.google.com

Categories
Apps

OutSystems Connects Low-Code Platform to AWS Services

OutSystems today added a set of components and resources to its portfolio to make it easier to invoke and configure cloud services by Amazon Web Services (AWS).

The Cloud Accelerators for AWS promise to reduce the time and effort developers that employ the company’s namesake low-code platform need to spend on configuring cloud services such as identity verification workflows that compares a photo or selfie with a document such as a driver’s license using the Amazon Rekognition and Amazon Simple Storage Service (Amazon S3) services.

Outsystems Low Code PlatformOutsystems Low-Code Platform

 

Other Cloud Accelerators for AWS address Video Call Validation using Amazon Kinesis or Chime services; self-service chatbots infused with artificial intelligence (AI) enabled by Amazon Lex and Amazon Comprehend services; virtual personal assistants (VPAs) enable by Amazon Alexa; multilingual chatbots enabled by Amazon Translation Services, Amazon Polly, and Amazon Transcribe services; multilingual Video Interaction enabled by Amazon Kinesis, Amazon Translation Services, and Amazon Transcribe services; and a personalized streaming experience enabled by the Amazon DynamoDB and Amazon S3 service.

The Cloud Accelerators are designed for professional developers that are employing the OutSystems low-code platform to accelerate the development of the application, says Barry Goffe, senior director of platform strategy for OutSystems. The platform isn’t aimed at so-called citizen developers but rather professional developers that need a low-code platform for building enterprise-class applications, he said. “We’re focused on professional developers working within an IT organization,” said Goffe.

There are two distinct classes of low-code tools gaining traction within IT environments. The first is aimed at professional developers that are building complex applications as part of a larger team. A second category of low-code tools is aimed more at citizen developers, also known as power users, that are typically employing their domain knowledge to build an application. The challenge those developers often encounter is they are not application designers, so many of those applications don’t tend to be as widely employed. A lack of appreciation for what’s required from an architecture perspective to enable an application to truly scale can also lead to issues.

There are, however, a growing number of citizen developers working with a line of business that, depending on their level of application development expertise, are employing either a low-code tool or, in some instances, a no-code tool based on a visual programming tool to build an application. While those efforts might reduce the application development backlog that continues to grow in the age of digital business transformation, it also increases the potential number of applications that professionals might one day have to rework.

OutSystems is making a case for increasing the productivity of professional developers to reduce the inclination of a citizen developer to build an application that winds up being beyond their capability to construct, secure and maintain.

Of course, all things being equal professional developers have a bias toward procedural code. Any low-code platform they embrace needs to allow them to drop out of the low-code tool to tackle a more challenging requirement whenever they deem it necessary. The challenge now is determining just how much of an application can be built using low-code before having to make that transition.

The post OutSystems Connects Low-Code Platform to AWS Services appeared first on Developer.com.

Read more: developer.com

Categories
News

Tiger Global leads $100 million investment in Indian social commerce DealShare

Tiger Global has invested in DealShare, a startup in India that has built an e-commerce platform for middle- and lower-income groups of consumers, just three months after the Indian firm concluded its previous $21 million Series C funding round.

The New York-headquartered firm has led the $100 million Series D round in three-year-old social commerce startup DealShare, two people familiar with the matter told TechCrunch. Tiger Global declined to comment, and a founder of the Indian startup didn’t return an email sent on Sunday.

Indian news outlet Entrackr reported Monday evening that DealShare was in talks to raise $70 million to $100 million.

DealShare kickstarted its journey the day Walmart acquired Flipkart, the startup’s founder and chief executive Vineet Rao said at a virtual conference late last year. Rao said that even as Amazon and Flipkart had been able to create a market for themselves in the urban Indian cities, much of the nation was still underserved. There was an opportunity for someone to jump in, he said.

The startup began as an e-commerce platform on WhatsApp, where it offered hundreds of products to consumers. It didn’t take long before a major consumer spending pattern was visible, Rao said. People were only interested in buying items that were selling at discounted rates, said Rao.

Over time, that idea has become part of DealShare’s core offering. Today it incentivizes consumers — by offering them discounts and cashbacks — to share deals on products with their friends. The startup, which has since launched its own app and website, now operates in over two dozen cities in India.

Consumers wanted products that were relevant to them and they wanted to buy these items at a price that instilled the most value for their bucks, said Rao. “We focused on locally produced items instead of national brands. Even today, 80% to 90% of items we sell are locally produced,” he said.

How DealShare model works. Image Credits: Bain & Company

Amazon and Flipkart have captured less than 3% of the retail market in India, leaving room for firms to explore other models. Social commerce is one of the bets we’re seeing being played out in India. The other bet gaining traction is digitizing neighborhood stores in the country — without so much of the social element — that dot tens of thousands of towns, cities and villages in India.

The investment comes as Tiger Global looks to close over two dozen deals in India this year, TechCrunch reported on Monday. Tiger Global, which recently closed a $6.7 billion fund, last week led investments in social network ShareChat, business messaging platform Gupshup, and investment app Groww, and participated in fintech app CRED’s round, helping all of these startups attain the much sought-after unicorn status.

Meesho, the market leading social commerce in India, also turned a unicorn last week after SoftBank led a $300 million round in the Indian firm, valuing it at $2.1 billion.

DealShare counts WestBridge, Falcon Edge Capital’s Alpha Wave, Z3Partners, and Omidyar Network among its investors.

From India’s richest man to Amazon and 100s of startups: The great rush to win neighborhood stores

Tiger Global goes super aggressive in India


Read more: feedproxy.google.com

Categories
Technology Videos

INGENIOUS CONSTRUCTION TOOLS YOU SHOULD SEE


For copyright matters please contact us at: copymanager.mn@gmail.com

BRAIN TIME ► https://goo.gl/tTWgH2

1. GEDA BatteryLadderLIFT
https://youtu.be/NZc4AY6MfHQ
https://youtu.be/s2ANO54Na0E
https://youtu.be/yW4BA4K5i-8
https://www.youtube.com/channel/UCiH4kqhdj4Kk-ugIrifcWRg

2. Innovatools Multi-Trowel
https://youtu.be/V2NygRmtwl4
https://youtu.be/oYs_bpvzqBQ
https://youtu.be/W7hNicE-n88
https://youtu.be/JEg-yUEUMN4
https://www.youtube.com/channel/UCs9EcfFxrT3JNhrrFW8yQLQ

3. ROKAMAT CHAMELEON
https://youtu.be/l81lWlsgMtM
https://www.youtube.com/channel/UCfqLJ5rl8nIQLt_Eii85ypQ

4. Plattenträger
https://youtu.be/Ie37dvQN8io
https://youtu.be/ITPZQDUNYio
https://youtu.be/onvo5b5D2aI
https://youtu.be/Zm6b405NFts
https://youtu.be/7mEShS84Kxs
https://www.youtube.com/channel/UCghu2NK561YJkOp8-_DkdMQ

5. U.S.SAWS Core EZ (Preview)
https://youtu.be/N4029kYpumU
https://www.youtube.com/channel/UCaqDR6u9jEVyYuBZk8UG8zA

6. DeWalt DCE151TD1
https://youtu.be/4TUaFW3rWno
https://youtu.be/GxKtRRA3WtM
https://youtu.be/aznMZ8sCddQ
https://www.youtube.com/channel/UCvtpTt_S5-jVs-Rk0MyiWJg

7. Cole-Bar Hammer
https://v.kickstarter.com/1620248879_caf7ebfadc6e0bb5b8d0de9374c581226ee835cc/projects/462995/video-237746-h264_high.mp4

8. RUBI hole marker
https://youtu.be/z_uuU7U71QU
https://www.youtube.com/channel/UChgHFOH7WOuJ1jouSNz9VJQ

9. Probst FXAH-120
https://youtu.be/EYSnb2HAhjo
https://www.youtube.com/channel/UCtuzXHqdGLfX315pVPkT4jg

10. Probst SVZ Uni
https://youtu.be/6RFodTEpk0A
https://www.youtube.com/channel/UCtuzXHqdGLfX315pVPkT4jg

00:00 – GEDA BatteryLadderLIFT
01:13 – Innovatools Multi-Trowel
02:11 – ROKAMAT CHAMELEON
03:15 – Plate carrier
04:15 – U.S.SAWS Core EZ (Preview)
05:16 – DeWalt DCE151TD1
06:13 – Cole-Bar Hammer
07:04 – RUBI hole marker
07:55 – Probst FXAH-120
08:54 – Probst SVZ Uni

Read more: youtube.com

Categories
Software

Agile at 20: Where it’s been and where it’s going

It has been 20 years since the Manifesto for Agile Software Development was published, and even longer since the idea was first formed, and yet there still isn’t a clear understanding in the industry of what Agile really is. 

“Far too many teams that claim to be ‘Agile’ are not. I’ve had people — with a straight face — tell me they are ‘Agile’ because they do a few Scrum practices and use a ticketing tool. There is an awful lot of misunderstanding about Agile,” said Andy Hunt, one of the authors of the manifesto and co-author of the book “The Pragmatic Programmer.”

According to Dave Thomas, co-author of “The Pragmatic Programmer” and the Agile Manifesto, just the way Agile is used in conversations today is wrong. He explained Agile is an adjective, not a noun, and while the difference may be picky, it’s also really profound. “The whole essence of the manifesto is that everything changes, and change is inevitable. And yet, once you start talking about ‘Agile’ as a thing, then you’ve frozen it,” said Thomas.

However, Alistair Cockburn, a computer scientist and another co-author of the manifesto, believes that Agile being misunderstood is actually a good thing. “If you have a good idea, it will either get ignored or misinterpreted, misused, misrepresented, and misappropriated…The fact that people have misused the word Agile for me is a sign of success. It’s normal human behavior.”

What is Agile?

One thing that is missing from the Agile Manifesto is an actual definition of Agile. In one of Hunt’s books, “Practices of an Agile Developer,” he defined Agile development as an approach that “uses feedback to make constant adjustment in a highly collaborative environment.” 

“I think that’s pretty much spot on. It’s all about feedback and continuous adjustments. It’s not about standup meetings, or tickets or Kanban boards, or story points,” said Hunt. 

But Thomas believes there is a good reason a definition wasn’t included in the manifesto, and that’s because Agile is contextual. “Agile has to be personal to a particular team, in a particular environment, probably on a particular project because different projects will have different ways of working,” he noted. “You cannot go and buy a pound of Agile somewhere. It doesn’t exist, and neither can a team go and buy a two-day training course on how to be Agile.”

Thomas does note he doesn’t mind Hunt’s definition of Agile because you have to work at it. “None of this can be received knowledge. None of it can be defined because it’s all contextual. The way of expressing the values that we had was so powerful because it allowed it to be contextual,” he said. 

Dave West, CEO and product owner at Scrum.org, believes the real reason people don’t understand Agile is because of social systems, not the practice, the actual work or even the problems they are looking to solve. “Over and over again, we see this sort of pattern that agility is undermined not by the work, not even by the skills of the practitioners, but by the social systems and the context that those practitioners are working in…Bosses want to know when something is going to be done, but when you ask them what it is they want you to deliver, they can’t tell you that…but they want to know when it is going to be done,” he explained. 

If we really want to take the opportunity that Agile presented, we need to change the system agility runs within, according to West. For instance, he said while Fidelity was one of the first companies to ever do Scrum, they are still wrestling with the ideas around it today because they didn’t necessarily change the way they incentivize people.

It’s about the core principles

To get back to the true meaning of Agile, we need to get away from the terms and get back to the four core principles, according to Danny Presten, founder of the Agile.ai community.. Delivering incremental value, having a good look at the work, being able to prioritize and improve cycles is “what really makes Agile hum. It’s not the terms. The more people get focused on the principles and the less they are focused on the terms, the better Agile will be,” said Presten. 

A great starting point for teams that have only experienced waterfall or haven’t had as much success with software delivery is to start with Scrum, according to Hunt, but it should only be used as a starting point. “Modern Agile thought goes much further than Scrum, into true continuous development and delivery, committing directly to main many times a day… the goal has always been to shorten the feedback loops, to be able to change direction quickly, to leverage the team’s learning,” Hunt continued. 

Presten compared learning to be Agile with learning to play an instrument. “As you start out, you read the sheet music. It helps make momentum happen for you and gives clarity, but if it stops there and all we do is mindlessly read the sheet music and go through the motions, then there’s a problem,” he said. 

A good way to look at it is to look at how much feedback you are getting and when you are getting it, said Thomas. “The only way to be Agile is to be constantly adapting to your environment. Sometimes that can be minute by minute, sometimes it’s day by day and sometimes it’s week by week, but if you’re not getting feedback as often as you can, then you are not doing Agile,” he said. 

Cockburn explained there have been three waves of Agile. The first was at the team scale, then Agile started to move to the organization scale, and now we are in the third wave which is at a global scale. The global scale includes finance departments, HR departments, legal departments, entire supply chains, governments, social projects, distributed teams and even different geographies. “It’s not just teams. In fact, it’s not merely organizations. It’s not merely software. It’s not really products. It’s global adoption,” said Cockburn.

Cockburn went on to explain that the reason Agile is being looked at on a global scale is because of VUCA: volatility, uncertainty, complexity, and ambiguity. He said the world is “VUCA” and that became even more evident with COVID, the lockdowns and the distributed ways of working for every person, team, industry, company and event country. Everyone needs to have the ability to move and change direction quickly with ease, he said. 

“This is the new and current world. It is happening. Agile long ago stopped being only about software; it is now completely general. One can look at those values and principles and extrapolate them to any endeavor,” said Cockburn. 

Looking back at the manifesto

The Agile Manifesto was created to uncover these better ways of working, developing and delivering software. It includes four core values and 12 principles.

From Feb.11-13, 2001, 17 thought leaders met at the Snowbird ski lodge in Utah to try to find some common ground on software development. That common ground became known as the Manifesto for Agile Software Development. At the time, those 17 software developers had no idea what was to come from the industry or how Agile would even play out over the next 20 years.

“The Agile Manifesto fundamentally changed or incrementally changed how people approached work and focused on the customer,” said Dave West, CEO and product owner at Scrum.org. “Twenty-five to thirty years ago, I worked for an insurance company in the city of London and we didn’t care about the insurance. We didn’t care about the customer. We just wrote code on the specs. The fact that today we have customer collaboration, the fact we now respond to change, all those behaviors have resulted in a lot of fabulous software.”

The world, however, is very different from when the Agile Manifesto was written that it has some wondering if it still is relevant in today’s modern, digital world. 

According to Robert Martin, one of the authors of the Agile Manifesto and author of “Clean Agile: Back to Basics,” the manifesto itself is just a marker in time. “It does not need any augmentation because it is not a living, evolving document. It is just something that was said 20 years ago. The truth of what was said in the document remains true today,” he said.

Fellow manifesto co-author Dave Thomas believes that the manifesto actually applies even more today as software is moving faster than ever, people are adapting to remote work, getting feedback and adjusting as they go. “It’s becoming clear you can’t plan a year out anymore. You are lucky if you can plan a month out, and so you are constantly going to be juggling and constantly going to be reprioritizing. The only way to do that is if you have the feedback in place already to tell you what the impact is going to be of this decision versus that decision,” said Thomas.

If they could go back…

If Thomas had a chance to go back in time and change anything about the manifesto, he said he would remove the 12 principles and just leave the four values in it because they dilute the manifesto and give an idea that there is a certain way to do Agile. “I would make the manifesto just that one page and then possibly just because it may not be obvious to people, explain why it doesn’t tell you what to do,” he said. 

Peter Morlion, a programmer dedicated to helping companies and individuals improve the quality of their code, believes the 12 Agile principles are still relevant today. “That’s because they’re based on economic reality and human nature, two things that don’t really change that much. If anything, some principles have become more radical than they were intended to be. For example, we should deploy weekly or even daily and we can now automate more than we imagined in 2001. On the other hand, some principles have been given a different meaning than we imagined in 2001: individuals no longer need to be in the same room for effective communication for example,” he recently wrote in a blog post

Because of Agile, we have been able to adapt to those principles, and while we can’t be face to face in the wake of the pandemic, we can do video calls because of the software that was influenced by the idea of Agile, Agile.ai’s Presten explained.  

If Presten were present at the Snowbird meeting back in 2001, he said he would probably give a hat tip to what outcomes can be expected from Agile, so that those principles can be mapped back to those outcomes to help people understand the what and why of Agile. “I am finding a lot more success and getting value from Agile by setting organizational goals like ‘hey, we want to get better at predictability,’ and then taking steps to get better,” he said

Scrum.org’s West, who was not one of the original authors of the manifesto, believes one thing the manifesto was very quiet on was how you measure success and feedback to inspect it, adapt it and improve it. There are a number of new initiatives coming out to provide organizations with better outcomes such as value stream management and BizOps. According to West, one thing these approaches and Agile all have in common is inspection and adaptation, and the idea of rapid feedback loops and observation. He thinks any of these approaches will help. If you are a software engineer, the Agile Manifesto may be better to look at. If you are on the business side of things, the BizOps Manifesto might be a better start, but ultimately he said to begin with the customer, the problem and the outcome you seek. 

Looking back at the manifesto, co-author Hunt said if he had a chance he would add a preface to it that explains Agile is not Scrum. “Scrum is a lightweight project management framework. Agile is a set of ideals that a method should support. They are not the same, and you could argue that Scrum is not even all that Agile; it’s more like a mini-waterfall. Twenty years ago maybe we could wait weeks for feedback. Today, typically, we cannot,” he said. 

Thomas would also add something about respecting individuals over respecting the rules in order to reflect that it is not the organization’s job to tell individuals how to behave; it’s their job. In retrospect, he also would have liked to have had a more diverse group of people involved in the manifesto. Cockburn, though, noted that if anything inside that room 20 years ago had been different, if anyone else would have been added, the outcome would have been completely different and it probably would have been more difficult to come to an agreement. 

What Cockburn would change about the manifesto is the wording of responding to change over following a plan. “The discussion we had was that the act of planning is useful. [When] the plan goes out of date, you have to respond to change. People, especially programmers, use it to mean I don’t have to make a plan. I don’t have to have a date. And that’s just flat incorrect. There’s no way to run a company if you don’t have dates, prices and budgets,” he said. 

Agile.ai’s Presten added: “I’m just so grateful for the founders, the folks in Snowbird and what they created. It really made the world a better place…It’s changing the world that we live in for the good, and then also the culture that it is creating at the companies we work at where decisions are getting decentralized. People are able to come in and grow and learn and fail fast to succeed, and having that safety net there has been a really cool thing, so I’m just super grateful for the founders and the work they did, kind of putting their neck on the line. I think we’ve all benefited from that.”

Technical Agile

While it is normal for ideas to get diluted over time, Robert Martin, one of the authors of the Agile Manifesto and author of “Clean Agile: Back to Basics,” believes that the meaning of Agile has become more than just diluted; it has lost its way. 

He explained that Agille was originally developed by programmers for programmers, but after a couple of years there was a shift to bring Agile to project management. 

“The influx of project managers into the Agile movement changed its emphasis rather dramatically. Instead of Agile being a small idea about getting small teams to do relatively small projects, it turned into a way to manage projects in some bold new way that people could not articulate,” Martin said. 

Martin explained that the original goal at the Snowbird meeting, where the Agile Manifesto originated, was to bridge a divide between business and technology, but the business side took over the Agile movement and disenfranchised the technical side. 

He said at one point the Agile Alliance tried to throw a technical Agile conference in addition to its annual Agile conference, which reinforced the idea that Agile fell off course. It was held twice — in 2016 and 2017 — and then discontinued.

“What we see today now is Agile is very popular on the project management side and not very popular on the technical programming side,” said Martin. “There are remnants of technical Agile such as Test-Driven Development and refactoring, but that’s prevalent in the technical community and not the Agile community.” 

“Does the Agile Manifesto help the project management side of things? Yes of course, because about half of Agile was about project management, but the other half — the technical side —  that part fled. And so the project management side of Agile is now lacking the technical side and in that sense, it has not been a good evolution from the early days of the manifesto till today. It has been a separation, not a unification. I’m still waiting for that unification,” he added.

He explained without that unification, there will be an increasing number of software catastrophes. “We’ve already seen quite a few and they have become fairly significant. We’ve had the software in cars lose control of the cars, kill dozens of people and injure hundreds of people. There have been a number of interesting lawsuits paid out because of that, just a software glitch has done that. We’ve heard trading companies lose half a billion dollars in 45 minutes because of software glitches. We’ve seen airplanes fall out of the sky, because of software that wasn’t working quite right and this kind of failure of the software industry is going to continue.” 

If the business side and technical side of software development cannot be united again, Martin predicts the government will eventually step in and do it for us. 

“We cannot have programmers out there without some kind of technological disciplines that govern the way they work, and that’s what Agile was supposed to be. It was supposed to be this kind of governance umbrella over both project management and technology, and that split. Now many [technologists] are free to do what they want without any kind of discipline,” said Martin.

“My hope is that we could beat the government there and that we can get these two back together before the government acts and starts legislating and regulating because I don’t trust them to do it well. ” Martin added.

The post Agile at 20: Where it’s been and where it’s going appeared first on SD Times.

Read more: sdtimes.com

Categories
News

Cannabis banking act passes U.S. House with bipartisan support

The U.S. House of Representatives passed a landmark bill aimed at easing restrictions placed on the cannabis industry. The SAFE ACT (Secure and Fair Enforcement) banking act provides safe harbor for financial institutions to work with cannabis operators. If passed by the Senate and approved by President Biden, this bill would allow the cannabis industry to access traditional banking services, which has so far been forced to do much of their business with cash.

This is the fourth time the SAFE ACT passed the House of Representatives. A previous version of the bill passed the House in 2019, but later died in a Senate committee and never reached then-President Trump’s desk.

Under the current bill, the SAFE ACT would protect banks and credit unions from federal prosecution when operating with cannabis companies compliant with their state’s laws. This would open up traditional lines of capital from financial institutions, which have been unavailable since cannabis is still considered illegal on a federal level. The SAFE ACT would allow these banks to work with operators in states where cannabis is legal.

Cannabis is currently legal for medical purposes in thirty-six states, four territories, and the District of Columbia. Recreational use is legal for adults in eighteen states, two territories, and D.C.

The bill passed the House with broad bipartisan support and was approved by 321-101. Before the bill’s passing, a letter showing support of the legislation was sent to House leadership from 20 state governors and one U.S. Territory and bankers from each state and a coalition of state treasurers.

With support from both parties, advocates and industry experts feel more confident that this bill will pass the Senate and reach President Biden’s desk.


Read more: feedproxy.google.com

Categories
Software

SD Times news digest: Mirantis updates Kubernetes IDE, Perforce launches Android and iOS virtual devices, and SmartBear adds testing support for Apache Kafka

Mirantis announced a new version of Lens, a Kubernetes IDE that eliminates the need for accessing Kubernetes clusters while also providing a unique way to access clusters, services, tools, pipelines and automations through a new catalog system. 

The 5.0 version now includes Lens Spaces, which integrates with the Lens IDE and lets developers create collaborative spaces for all of their cloud-native development needs. 

Lens 5 also includes Hotbar, a new function that allows users to build their own workflows and automations within the desktop application. 

Additional details on Lens 5 are available here.

Perforce launches Android and iOS virtual devices

Perforce announced the availability of Android emulators and iOS simulators as part of the device lab available in Perfecto’s Intelligent Test Automation platform. 

With these new virtual devices, mobile app developers and testers can perform manual and Appium-based test automation in parallel, in the cloud and across different geographies, according to the company. 

“By strategically testing on virtual devices, organizations give developers faster feedback, so they can catch and fix issues quickly without interrupting their workflows,” said Eran Kinsbruner, a DevOps evangelist at Perforce. “Virtual devices complement real device testing later in the cycle to deliver a powerful, comprehensive combination for getting feedback quickly without compromising application quality.”

SmartBear testing now supports Apache Kafka

SmartBear’s ReadyAPI now supports API testing for real-time event-driven architecture with Apache Kafka event streaming services.

Apache Kafka enables teams to capture data in real-time from databases, sensors, mobile devices, cloud services and software applications in a scalable, reliable and secure way.

“Organizations are shifting from centralized, complex data lakes to a renewed focus on the data pipeline – or data in-flight. Event-driven architectures and services are a key enabler of this shift. The challenge now is ensuring all processes and data flow behave as designed,” said Alianna Inzana, the senior director of product management at SmartBear. “With ReadyAPI’s testing support for Kafka, organizations can now deliver quality at speed into their event-driven architecture, rolling out higher quality applications faster.” 

The post SD Times news digest: Mirantis updates Kubernetes IDE, Perforce launches Android and iOS virtual devices, and SmartBear adds testing support for Apache Kafka appeared first on SD Times.

Read more: sdtimes.com